为什么使用jQuery AJAX请求将回调参数添加到查询字符串中
我用MVC编写并发送jQueryAjax请求 我不明白,当我使用JQUERY发送AJAX请求时,为什么要在查询字符串中添加“callback”参数,如下所示为什么使用jQuery AJAX请求将回调参数添加到查询字符串中,jquery,Jquery,我用MVC编写并发送jQueryAjax请求 我不明白,当我使用JQUERY发送AJAX请求时,为什么要在查询字符串中添加“callback”参数,如下所示 http://localhost:39224/Test/TAction/2?callback=jQuery151031896859929189747_1301556762907 这会在返回响应时导致错误 我从未遇到过这样的问题。可能是什么 这里是请求代码 多谢各位 $.ajax({ type: 'POST',
http://localhost:39224/Test/TAction/2?callback=jQuery151031896859929189747_1301556762907
这会在返回响应时导致错误
我从未遇到过这样的问题。可能是什么
这里是请求代码
多谢各位
$.ajax({
type: 'POST',
dataType: 'json',
url: 'Test/TAction/' + id,
async: false,
success: function (data, textStatus, XMLHttpRequest) {
var branches = $.parseJSON(data);
},
error: function (a, b, c) {
var d = 1;
}
});
根据
jsonp
设置文件:
重写中的回调函数名
jsonp请求。此值将为
在中使用,而不是“回调”
“callback=?”是查询字符串的一部分
在url中。所以{jsonp:'onJSONPLoad'}
将导致传递'onJSONPLoad=?'
到服务器从jQuery 1.5开始,
将jsonp
选项设置为false
阻止jQuery添加
将“?回调”字符串添加到URL或
正在尝试将“=?”用于
转型在这种情况下,你
还应显式设置
jsonpCallback
设置。例如,{
jsonp:false,jsonpCallback:
“callbackName”}
也就是说,在我看来,如果您使用的是jQuery 1.5+,您需要显式地将
jsonp
设置为false
,尽管我自己还没有尝试过。在jQuery-1.5中,“回调”是自动添加的,所以您需要配置jsonp我使用了数百次简单的jQuery AJAX请求,从未遇到过这样的问题。为什么会发生这种事?专家不确定。在1.5中,情况发生了变化,但我并不是说这是1.5的新功能。添加jsonp
设置是否有效?页面上是否有其他代码使用了$.ajaxSetup()并设置了jsonp?jensgram,我发现了错误。有人把jQuery的版本更新到了1.5,我不知道。我将阅读关于JSONP的文章来解决这个问题。感谢you@theateist很高兴您发现了问题:)