$.getJSON not working in Internet Explorer

给你一囗甜甜゛ 提交于 2019-11-26 22:04:29

问题


I am using following code to grab data from JSON.

 $(document).ready(function()
 {
   $.getJSON("http://www.example.com/data.php?id=113&out=json", function(data) {

        $.each(data.issue.page, function(i,item) {
            imagesJSON[i] = item["@attributes"];
        });

       alert(imagesJSON.length);
    });
 });

It works in Mozilla, Chrome and other browser but not in IE. (Not in any Version).


回答1:


$.getJSON has a tendency to cache results in IE. Use $.ajax instead.

The related call should be something like this in your case:

// 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); }
});

Make sure you have cache: false.


UPDATE:

It appears to be a configuration issue at the host with the request url that the OP actually uses. Going to the url directly with IE web browser results in an abort from the host. You can't do much than to report the issue to the host, like an email to the webmaster of the host.




回答2:


I had the same error on a page, and I added these lines :

<!--[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]-->

and it finaly works for me ;) no more error for IE9

This post helps me jQuery Call to WebService returns "No Transport" error



来源:https://stackoverflow.com/questions/10315211/getjson-not-working-in-internet-explorer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!