javascript – ajax POST不发送对象的一部分

所以我有这个代码

var ajaxUrl = 'a/7776/as';
var data = {
    'answer' : {  'user_input'    : []  },'form_build_id' : 'form-ffe6f10e9601470ed4cfe38257a959a6'
}
 $.ajax({
    url: ajaxUrl,dataType: 'json',type: 'POST',data: data,success: function(json){
    }
  });

但是,当我检查POST源时,似乎没有发送“回答”..

这是Firebug中的POST源:

Parametersapplication/x-www-form-urlencoded
form_build_id   form-ffe6f10e9601470ed4cfe38257a959a6
Source
form_build_id=form-ffe6f10e9601470ed4cfe38257a959a6

为什么会出现这种情况,如何才能将对象的“回答”部分发送到AJAX帖子?

最佳答案
来自T.J.的好解释克劳德,显然知识渊博.这是我对实际答案的看法.我检查了我的HTTP流量并运行了上面的AJAX请求.正如所料,答案没有被发送.另外上面跟着肾上腺素的回答,如果你在google上搜索“ajax不发送空数组”,你只能看到相关结果的数量,这也是一个问题.我要做的是如果user_input是一个空数组,则发送null.我自己尝试确保并且再次如预期的那样,这次我观察到请求中发送了answer参数,以及user_input,它使用下面的代码作为null发送.

var userInput = []; //not sure where this is coming from in reality,but this is just an example.

if (userInput.length == 0){  //in this example,this is obvIoUsly always true
    userInput = null;
}
var ajaxUrl = 'a/7776/as';

var data = {
    'answer' : {  'user_input'    : userInput  },'form_build_id' : 'form-ffe6f10e9601470ed4cfe38257a959a6'
}
$.ajax({
    url: ajaxUrl,success: function(json){
    }
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...