我在MVC中编写并发送jQuery AJAX请求。
我不明白为什么当我使用JQUERY发送AJAX请求时,'回调'参数被添加到查询字符串中
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;
}
});
答案 0 :(得分:2)
根据.ajax()
的jsonp
设置的文档:
覆盖回调函数名称 一个jsonp请求。这个值将是 用来代替'回调' '回调=?'查询字符串的一部分 在网址中。所以
{jsonp:'onJSONPLoad'}
会导致'onJSONPLoad=?'
通过 到服务器。 从jQuery 1.5开始, 将jsonp
选项设为false
阻止jQuery添加 “?callback”字符串到URL或 试图使用“=?”对于 转型。在这种情况下,你 还应该明确设置jsonpCallback
设置。例如,{ jsonp: false, jsonpCallback: "callbackName" }
也就是说,我似乎你需要明确地将jsonp
设置为false
如果你正在使用jQuery 1.5+,尽管我自己没有尝试过
答案 1 :(得分:0)
在jQuery-1.5中,“callback”会自动添加,因此您需要配置jSONP