目前,表单数据是通过URL传递的,如下所示。
document.getElementById('newChildForm').action = "./populateImageProcessing?personId="+ temp+ "&category="+ strUser+ "&fromDate="+ frmDate+ "&toDate=" + toDate+"&advFromDayID="+advFromDayID+"&advFromMonthID="+advFromMonthID+"&advFromYearID="+advFromYearID+"&advToDayID="+advToDayID+"&advToMonthID="+advToMonthID+"&advToYearID="+advToYearID;
document.getElementById('newChildForm').submit();
我想单独传递表单数据,而不是通过URL。
我用ajax / jQuery尝试了以下内容
$.ajax({
cache: false,
url : "./populateImageProcessing",
type : "POST",
data : "personId=" + temp + "&category="
+ strUser
+ "&fromDate="+ frmDate+ "&toDate=" + toDate+ "&advFromDayID="+advFromDayID+"&advFromMonthID="+advFromMonthID+"&advFromYearID="+advFromYearID+"&advToDayID="+advToDayID
+"&advToMonthID="+advToMonthID+"&advToYearID="+advToYearID,
success: function(data){
$("#newChildForm").html(data);
}
});
jQuery在SIT环境中工作,但是由于CSP,在UAT环境中遇到了一些麻烦。
有什么办法可以使用普通的javascript
document.getElementById('newChildForm').action="./populateImageProcessing"
,并分别传递参数,而不是在URL中传递参数。请帮忙。谢谢。
最佳答案
尝试使用以下代码:
var data = "personId=" + temp + "&category="+ strUser+ "&fromDate="+ frmDate+ "&toDate=" + toDate+ "&advFromDayID="+advFromDayID+"&advFromMonthID="+advFromMonthID+"&advFromYearID="+advFromYearID+"&advToDayID="+advToDayID+"&advToMonthID="+advToMonthID+"&advToYearID="+advToYearID;
var xhttp= new XMLHttpRequest();
xhttp.open("POST", "populateImageProcessing", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById('newChildForm').innerHTML = this.responseText
}
};
xhttp.send(data);