var url="service/signProcess.aspx";
//sets the important hidden field of the form by which server decides what to send
$('#hdnReqType2').val('sign87162');
var data=$("#frmLogin").serializeArray();
var success=function(rdata, textStatus, jqXHR) {
console.log(rdata);
};
var fail=function(jqXHR, textStatus, errorThrown) {
console.log("Error" + errorThrown + " " + textStatus);
}
$.post(url,data,success,"text").fail(fail);我在chrome中打开的页面'http://fsa.citop.in/lnct/‘的控制台中使用了它(当页面的登录表单为空时),并得到了一个JSON字符串作为响应。
我在https://api.jquery.com/serializeArray/上发现,serializeArray()返回一个具有名称和值的对象数组。所以当我使用
var data=[{name :"txtLogId",value: ""},{name:"txtLogPass",value: ""},{name:"hdnReqType2",value: "sign87162"}];我认为它等同于$("#frmLogin").serializeArray()返回的对象。作为响应,服务器给了我一个HTML页面。
我对两个版本的数据变量都尝试了console.log( data ),但找不到任何差异。请告诉我数据的版本和serailizeArray()的正确等价对象有什么不同。
发布于 2016-04-25 01:47:10
success回调中的响应数据对象参数是response object (JSON)。success函数之前的data变量与success回调中的data参数冲突。我建议您更改data变量的名称,或者在success function中更改data参数的名称。
var url="service/signProcess.aspx";
//sets the important hidden field of the form by which server decides what to send
$('#hdnReqType2').val('sign87162');
var data=$("#frmLogin").serializeArray();
var success=function(dat_a, textStatus, jqXHR) {
console.log(dat_a);
};
var fail=function(jqXHR, textStatus, errorThrown) {
console.log("Error" + errorThrown + " " + textStatus);
};
$.post(url,data,success,"text").fail(fail);在上面的代码中,我已经将成功回调函数中的data参数更改为dat_a。
https://stackoverflow.com/questions/36820255
复制相似问题