getJson () ne fonctionne pas en chrome

La méthode getJson j-query ne fonctionne pas en chrome alors qu’elle fonctionne dans tous les autres navigateurs

ce qui suit est mon code

$(document).ready(function(){ $.getJSON('aptitude14.json',function(data){ /// my code goes here 

}; };

erreur je suis en chrome est

entrez la description de l'image ici

mon fichier JSON se trouve dans le même dossier

Vous essayez de lire un fichier de votre ordinateur client avec le file: protocole, ce qui n’est pas sûr. Cela ne fonctionne pas dans Chrome, car Chrome se préoccupe davantage des problèmes de sécurité que les autres navigateurs. il me semble que vous essayez de créer un exemple d’ajax.

Ce que vous pouvez faire, c’est simplement désactiver la sécurité Web dans Chrome. S’il s’agit simplement d’un exemple de test, ouvrez votre ligne Chrome in comand avec ce paramètre: –disable-web-security

et si ce n’est pas un exemple de test, vous devez placer votre fichier sur un serveur auquel vous avez access et utiliser http ajax call au lieu de file ajax call.

Si vous renconsortingez ce problème sur le Web, vous auriez le choix entre deux solutions: utiliser JSONP ou activer CORS. mais dans le protocole de fichier, je peux vous proposer de simuler un appel JSONP comme ceci:

-votre fichier json est comme ceci:

 [{ name : "abc" //... }, { name : "efg" //... }] 

changez-le en (enveloppez-le dans un appel de fonction):

 callback([{ name : "abc" //... }, { name : "efg" //... }]) 

alors faites ceci à la place de jQuery ajax call:

 window.callback = function(jsonObj){ // }; var script = document.createElement('script'); //since this is a fake jsonp call you don't need to add ?callback=callback to url script.src = 'aptitude14.json'; document.getElementsByTagName('head')[0].appendChild(script);