У меня есть некоторый код jQuery (1.6.2, последняя стабильная версия), который работает в Chrome, Firefox, Safari, IE7 и IE8 ... но IE9 не удается разобрать мой ответ json ajax. JSON действителен, и я прошел через http://jsonlint.com/
$.ajax({
url: lookupURL,
dataType: "json",
cache: false, // don't cache the result
contentType: "application/json", //tell the server we're looking for json
success: function(data) {
// do stuff with result
},
error: function(xhr, errorString, exception) {
alert("xhr.status="+xhr.status+" error="+errorString+" exception=|"+exception+"|");
}
});
Обработчик ошибок - тот, который вызывает jQuery (только для IE9). Xhr.status = 200, errorString = parseerror и исключение = SyntaxError JSON.parse
Мой json действителен, и я даже проверил, используя очень простую строку json:
{"foo":"bar"}
Я с помощью xhr.responseText проверил, что в json нет начальных или конечных пробелов.
Почему это не работает в IE9?