Maison >interface Web >js tutoriel >Pourquoi ma requête AJAX locale renvoie-t-elle l'erreur « Les requêtes multi-origines ne sont prises en charge que pour HTTP » ?

Pourquoi ma requête AJAX locale renvoie-t-elle l'erreur « Les requêtes multi-origines ne sont prises en charge que pour HTTP » ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 01:19:02503parcourir

Why Is My Local AJAX Request Throwing a

Erreur d'origine croisée XMLHttpRequest

Lors de la tentative d'exécution de requêtes AJAX à partir d'un serveur Web local, les développeurs peuvent rencontrer l'erreur « Demandes d'origine croisée ne sont pris en charge que pour HTTP." Cette erreur se produit bien que la demande ne soit pas inter-domaines.

Cause

Cette erreur est déclenchée par la politique de sécurité du navigateur, qui restreint la communication d'origine croisée entre différents domaines et protocoles pour des raisons de sécurité. Cependant, dans ce cas, la requête est effectuée depuis un serveur local vers une ressource locale, ce qui la rend essentiellement de même origine.

Solution

Pour résoudre ce problème , les utilisateurs de Chrome peuvent démarrer le navigateur avec le commutateur suivant :

--allow-file-access-from-files

MacOS

<code class="pre">open -a 'Google Chrome' --args -allow-file-access-from-files</code>

Linux

<code class="pre">google-chrome  --allow-file-access-from-files</code>

Windows

Ajoutez le switch à la fin du chemin "cible" dans les propriétés du raccourci Chrome :

<code class="pre">C:\ ... \Application\chrome.exe --allow-file-access-from-files</code>

En activant ce switch, Chrome permet aux requêtes AJAX d'accéder aux fichiers et ressources locaux, résolvant ainsi l'erreur "Les requêtes d'origine croisée ne sont prises en charge que pour HTTP, mais elles ne sont pas inter-domaines."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn