โครงการของฉันใช้ 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);
}
});
มีเบาะแสอะไรบ้าง?
ขอบคุณ! นีล