J'ai attribué +1 à la réponse de Miro pour le lien vers le site de vérification des en-têtes http://www.webconfs.com/http-header-check.php . Il affiche une annonce désagréable chaque fois que vous l'utilisez, mais il est néanmoins très utile pour vérifier la présence de l'en-tête Access-Control-Allow-Origin.
Je lis un fichier .json à partir du javascript sur ma page Web. J'ai trouvé que l'ajout de ce qui suit à mon fichier .htaccess a résolu le problème lors de l'affichage de ma page Web dans IE 11 (version 11.447.14393.0):
<FilesMatch "\.(json)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
J'ai également ajouté ce qui suit à /etc/httpd.conf (fichier de configuration d'Apache):
AllowOverride All
Le site de vérification d'en-tête a vérifié que l'en-tête Access-Control-Allow-Origin est maintenant envoyé (merci, Miro!).
Cependant, Firefox 50.0.2, Opera 41.0.2353.69 et Edge 38.14393.0.0 récupèrent tous le fichier de toute façon, même sans l'en-tête Access-Control-Allow-Origin. (Remarque: ils peuvent vérifier les adresses IP, car les deux domaines que j'utilisais sont tous deux hébergés sur le même serveur, à la même adresse IPv4.)
Cependant, Chrome 54.0.2840.99 m (64 bits) ignore l'en-tête Access-Control-Allow-Origin et échoue de toute façon, signalant par erreur:
Aucun en-tête «Access-Control-Allow-Origin» n'est présent sur la ressource demandée. L' accès à l' origine " {mydomain} " n'est donc pas autorisé.
Je pense que cela doit être une sorte de «premier». IE fonctionne correctement; Chrome, Firefox, Opera et Edge sont tous bogués; et Chrome est le pire . N'est-ce pas exactement le contraire du cas habituel?
a2enmod headers