« L'origine nulle n'est pas autorisée par Access-Control-Allow-Origin » Erreur pour les requêtes provenant des URL de fichier://
Problème : Les développeurs rencontrent un problème lorsqu'ils effectuent des requêtes via le support AJAX de jQuery à partir d'une URL file:// vers Panoramio. L'erreur « Origin null n'est pas autorisé par Access-Control-Allow-Origin » apparaît dans la console.
Analyse des causes profondes :
-
Type de requête incorrect : La requête GET doit utiliser un dataType de "jsonp" ou inclure "callback=?" dans l'URL pour activer JSONP, ce qui est nécessaire pour les requêtes inter-domaines.
-
Restrictions CORS pour les URL file:// : Les en-têtes de partage de ressources d'origine croisée (CORS) ne peuvent pas autoriser les requêtes de file:// URL avec un en-tête Origin nul via le retour d'écho mécanisme.
Solution :
Pour résoudre le problème, les étapes suivantes sont nécessaires :
-
Utiliser JSONP Requête : Utilisez $.getJSON ou définissez le dataType sur "jsonp" pour que $.get déclenche JSONP, qui modifie le tapez la requête sur "jsonp" si "callback=?" est présent dans l'URL.
-
Évitez les URL file:// : Assurez-vous que les tests sont effectués via les URL http://, car les URL file:// ont une prise en charge CORS limitée.
Instructions de dépannage :
-
Vérifiez JSONP Utilisation : Assurez-vous que $.get a dataType défini sur jsonp ou que $.getJSON est utilisé avec "callback=?" dans l'URL.
-
CORS pour les requêtes inter-domaines : Testez via http:// pour éviter les restrictions CORS pour les URL de fichier://. Confirmez que le navigateur prend en charge CORS, car Opera et Internet Explorer ont retardé la mise en œuvre.
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!