我的项目使用jQuery 1.4.2。 我有一些安全信息,我添加到我的AJAX标题... 我这样做的方法是使用$ .ajaxSetup(),并设置beforeSend函数。
$(document).ready(function (e) {
$.ajaxSetup({
global: true,
beforeSend: function (jqXHR, settings) {
var verificationToken = 'some encrypted string';
jqXHR.setRequestHeader("X-Request-Verification-Token", verificationToken);
}
});
})
据我所知,每当我调用$ .ajax()时都会执行,对吧? 它在Chrome,Firefox,IE9等中运行良好,但在IE7 / 8中偶尔不。
这就是我所说的:
$.ajax({
type: "POST",
async: true,
data: 'somedata',
url: "/some/url",
success: function (data) {
alert("success");
},
error: function (data) {
alert("error");
}
});
我找到了一个解决方法,即将beforeSend直接添加到$ .ajax()调用(下面),但我真的想全局执行此操作,而不是必须将其添加到代码...
$.ajax({
type: "POST",
async: true,
data: 'somedata',
url: "/some/url",
success: function (data) {
alert("success");
},
error: function (data) {
alert("error");
}
beforeSend: function (jqXHR, settings) {
var verificationToken = 'some encrypted string';
jqXHR.setRequestHeader("X-Request-Verification-Token", verificationToken);
}
});
任何线索?
谢谢! 尼尔
答案 0 :(得分:2)
好的,在没有任何其他答案的情况下,我特此声明这是JQuery 1.4.x中的一个错误。 解决方案是升级到更高版本的JQuery,这对我来说是不可能的。
如果有人有更好的答案/解决方法,我很乐意删除这个,并将其标记为正确。