$ .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”错误