我正在尝试使用如下所示的ajax prefilter来操作ajax url选项,但是当使用filter调用ajax时,会使用新的url但忽略dataType,这意味着没有向url添加回调参数,我收到了一个糟糕的请求。这只有在我尝试设置新网址时才会发生。例如,当我只设置新的数据参数时,应该添加回调。当我尝试在perfilter中设置dataType选项和url时,仍然没有添加回调参数。难道我做错了什么?非常感谢您阅读此内容!
var ajaxItem = {
setUp: function (a) {
$.ajaxSetup({
url: "url1.php?",
data: {
'meta_prefix': 'm_',
},
dataType: 'jsonp',
});
}
};
var ajaxProd = {
setUp: function () {
$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
options.url = "url2.php?";
//also when i set dataType here again, the callback parameter is not added to the url
//options.dataType = 'jsonp';
});
}
};
答案 0 :(得分:0)
我找到了解决类似问题的要点(如果插件在外部域上运行,我想发送JSONP,因此它可以检索相同的数据)。
这是要点: https://gist.github.com/craveytrain/1028553
我的版本:
$.ajaxPrefilter('json', function(options) {
// replace with your condition or remove the `if` clause and just return jsonp
if ( true ) {
return 'jsonp';
}
});