$ .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。(不在任何版本中)。

$.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


更新:

它似乎是主机上的配置问题,其中OP实际使用了请求URL。 使用IE Web浏览器直接访问URL会导致主机中止。 除了向主机报告问题之外,您无能为力,例如向主持人的网站管理员发送电子邮件。

我在页面上遇到了同样的错误,并添加了这些行:

  

它最终适用于我;)IE9没有更多的错误

这篇文章帮助我jQuery调用WebService返回“No Transport”错误