Problème "Origin Null Not Allowed by Access-Control-Allow-Origin" pour les requêtes provenant d'URL de fichier://
Introduction :
Lors de l'exécution d'une requête AJAX vers un domaine différent à partir d'une URL file://, les développeurs peuvent rencontrer une erreur liée à "Origin null n'est pas autorisé par Access-Control-Allow-Origin." Ce problème est dû à une mesure de sécurité connue sous le nom de partage de ressources cross-origine (CORS) qui restreint les requêtes inter-domaines.
Le problème :
Requêtes AJAX effectuées à partir de Les URL file:// ont une origine nulle, ce qui n'est pas autorisé par CORS. Le navigateur bloque ces demandes pour empêcher tout accès non autorisé aux ressources sur différents domaines.
Solution :
Pour résoudre ce problème, deux méthodes principales peuvent être utilisées :
Utiliser une requête JSONP :
JSONP (JSON with Padding) est une technique qui permet d'effectuer des requêtes inter-domaines en encapsulant la réponse dans une fonction de rappel. En spécifiant un nom de fonction de rappel dans l'URL, le navigateur peut interpréter la réponse comme un appel de fonction plutôt que comme une requête AJAX. Pour utiliser JSONP :
Exemple :
$.get(url, { callback: 'myCallback' }, function(data) { // Handle the response data });
Test à l'aide d'une URL HTTP :
Les restrictions CORS ne sont pas appliqué aux requêtes effectuées à partir d’URL http://. Par conséquent, tester la requête à partir d’une URL http:// peut contourner le problème d’origine nulle. Cette approche est utile pour déboguer et vérifier la configuration CORS côté serveur.
Conseils de dépannage :
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!