У меня очень странная проблема с jQuery и IE. Я использую jQuery 1.4.4 с IE8. Я пытаюсь AJAX-вызов с:
$.ajax({
url: '/events/do_something',
dataType: 'json',
data : params,
beforeSend : function() {
setPageStateLoading(true);
},
success : function(data){
doSomethingElse(data, false);
},
error : function(XMLHttpRequest) {
openErrorDialog(XMLHttpRequest.responseText);
},
complete : function(XMLHttpRequest, textStatus) {
setPageStateLoading(false);
}
});
Хотя запрос выполнен успешно, обработчик ошибок вызывается из-за ошибки разбора. В возвращенном JSON нет ничего плохого (он отлично работает в Firefox), проблема в строке 6229 в jQuery:
var ct = xhr.getResponseHeader("content-type") || "",
Ошибка «Объект не поддерживает это свойство или метод» и ошибка синтаксического анализа.
Сейчас я использую полный обработчик с оператором if в качестве обходного пути, но на самом деле это не очень хорошая идея. Любые идеи о том, как это исправить правильно?