Erreur: “Accès à l’URI restreint refusé”

Accès à l’URI restreint refusé “code:” 1012 [Break On This Error]

xhttp.send (null);

function getXML(xml_file) { if (window.XMLHttpRequest) { var xhttp = new XMLHttpRequest(); // Cretes a instantce of XMLHttpRequest object } else { var xhttp = new ActiveXObject("Microsoft.XMLHTTP"); // for IE 5/6 } xhttp.open("GET",xml_file,false); xhttp.send(null); var xmlDoc = xhttp.responseXML; return (xmlDoc); } 

J’essaie d’obtenir des données à partir d’un fichier XML en utilisant JavaScript. J’utilise Firebug pour tester et déboguer sur Firefox.

L’erreur ci-dessus est ce que j’obtiens. Cela fonctionne dans d’autres endroits que j’ai utilisés avant, pourquoi agir est bizarre ici?

Est-ce que quelqu’un peut m’aider pourquoi cela se produit?

Mettre à jour:

http://jquery-howto.blogspot.com/2008/12/access-to-ressortingcted-uri-denied-code.html

J’ai trouvé ce lien expliquant la cause du problème. Mais je n’ai pas compris ce que la solution apscope signifie que quelqu’un peut élaborer?

    Une autre cause possible est lorsque vous travaillez avec un fichier .html directement sur le système de fichiers. Par exemple, si vous y accédez en utilisant cette URL dans votre navigateur: C:/Users/Someguy/Desktop/MyProject/index.html

    Si cela doit alors faire une requête ajax, la requête ajax échouera car les requêtes ajax au système de fichiers sont restreintes. Pour résoudre ce problème, configurez un serveur Web qui pointe sur localhost vers C:/Users/Someguy/Desktop/MyProject et accédez-y depuis http://localhost/index.html

    On dirait que vous ne respectez pas la même politique d’origine .

    Sous-domaines, différents ports, différents protocoles sont considérés comme différents domaines.

    Essayez d’append l’en Access-Control-Allow-Origin:* tête Access-Control-Allow-Origin:* au script côté serveur qui vous fournit le code XML. Si vous ne le faites pas en PHP (où vous pouvez utiliser header() ) et essayer de lire un fichier XML brut, vous devez probablement définir l’en-tête dans un fichier .htaccess en ajoutant le Header set Access-Control-Allow-Origin "*" têtes Header set Access-Control-Allow-Origin "*" . En outre, vous devrez peut-être append Access-Control-Allow-Headers:* .

    Je recommande également de remplacer le * en mode production pour interdire à tout le monde de lire vos données et d’y append votre propre URL.

    Sans code impossible à dire, mais vous risquez de vous heurter à la limitation ajax inter-site: vous ne pouvez pas faire de requêtes ajax vers d’autres domaines.