jquery serializeArray()等效对象

时间:2016-04-24 07:03:37

标签: javascript jquery serializearray

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(数据),但找不到任何区别。请解释一下我的数据版本与serailizeArray()的正确等效对象之间的区别。

1 个答案:

答案 0 :(得分:0)

成功回调中的数据参数是响应对象(JSON)成功功能之前的数据变量与成功回调中的数据参数冲突。 我建议您更改数据变量的名称,或更改成功功能中数据参数的名称。

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);

在上面的代码中,我已将成功回调函数中的数据参数更改为 dat_a