所以我有这个代码:
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发送.
原文链接:https://www.f2er.com/jquery/428225.htmlvar 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){
}
});