$ .getJSON ne fonctionne pas dans IE

J'utilise le code suivant pour récupérer des données de 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); }); }); 

Il fonctionne dans Mozilla, Chrome et autres navigateurs, mais pas dans IE. (Pas dans aucune version).

$.getJSON a tendance à cacher les résultats dans IE . Utilisez plutôt $.ajax .

L'appel connexe devrait être quelque chose comme ceci dans votre cas:

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

Assurez-vous d'avoir un cache: false .


METTRE À JOUR:

Il semble qu'il s'agisse d'un problème de configuration à l'hôte avec l'URL de demande que l'OP utilise réellement. Aller à l'url directement avec le navigateur Internet IE entraîne un annulation de l'hôte. Vous ne pouvez pas faire autant que de signaler le problème à l'hôte, comme un courrier électronique au webmaster de l'hôte.

J'ai eu la même erreur sur une page, et j'ai ajouté ces lignes:

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

Et il fonctionne finalement pour moi;) plus d'erreur pour IE9

Cette publication m'aide jQuery Call to WebService renvoie l'erreur "No Transport"