pil*_*ght 5 javascript ajax jquery 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){
}
});
Run Code Online (Sandbox Code Playgroud)
但是,当我检查POST源时,似乎没有发送"回答"..
这是Firebug中的POST源:
Parametersapplication/x-www-form-urlencoded
form_build_id form-ffe6f10e9601470ed4cfe38257a959a6
Source
form_build_id=form-ffe6f10e9601470ed4cfe38257a959a6
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况,如何才能将对象的"回答"部分发送到AJAX帖子?
TJ Crowder 的解释很好,显然知识渊博。这是我对实际答案的看法。我检查了我的 HTTP 流量并运行了您的上述 AJAX 请求。正如预期的那样,answer没有被发送。另外,根据上面肾上腺素的答案,如果您在谷歌上搜索“ajax not sendempty array”,您可以通过相关结果的数量看到这也是一个问题。我要做的是,如果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,
dataType: 'json',
type: 'POST',
data: data,
success: function(json){
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |