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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/jquery/428225.html

猜你在找的jQuery相关文章