jQuery ajaxSetup beforeSend не выполняется в IE8

В моем проекте используется 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); } }); 

Любые подсказки?

Спасибо! Нил

Хорошо, в отсутствие какого-либо другого ответа я заявляю, что это ошибка в JQuery 1.4.x. Решение состоит в том, чтобы перейти на более позднюю версию JQuery, что, к сожалению, невозможно для меня.

Если у кого-то есть лучший ответ / исправление, я с радостью удалю его и пометьте их как правильно.