$.getJSON не работает в IE
Я использую следующий код для захвата данных из JSON.
$(document).ready(function()
{
$.getJSON("http://www.xyz.com/data.php?id=113&out=json", function(data) {
$.each(data.issue.page, function(i,item) {
imagesJSON[i] = item["@attributes"];
});
alert(imagesJSON.length);
});
});
он работает в Mozilla, chrome и других браузерах, но не в IE.(Не в любой версии).
2 ответов
$.getJSON
имеет тенденцию к кэш результатов в IE. Использовать $.ajax
.
связанный вызов должен быть чем-то вроде этого в вашем случае:
// Not really sure if you've forgot to var
var imagesJSON = [];
$.ajax({
url: "www.example.com/data.php?id=113&out=json",
cache: false,
dataType: "json",
success: function(data) {
$.each(data.issue.page, function(i,item) {
imagesJSON[i] = item["@attributes"];
});
alert(imagesJSON.length);
},
error: function (request, status, error) { alert(status + ", " + error); }
});
убедитесь, что у вас есть cache: false
.
обновление:
похоже, что проблема конфигурации на хосте с url-адресом запроса, который фактически использует OP. Переход к url-адресу напрямую с помощью веб-браузера IE приводит к аборт от носителя. Вы не можете сделать больше, чем сообщить о проблеме хосту, например, по электронной почте веб-мастеру хоста.
У меня была такая же ошибка на странице, и я добавил Эти строки :
<!--[if lte IE 9]>
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.0/jquery.xdomainrequest.min.js'></script>
<![endif]-->
и это окончательно работает для меня ;) больше нет ошибки для IE9
этот пост помогает мне вызов jQuery в WebService возвращает ошибку "нет транспорта"