微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/jquery/428225.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐