J'ai ajouté un +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 fait apparaître une publicité 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 de ma page web. J'ai constaté que l'ajout de ce qui suit à mon fichier .htaccess a permis de résoudre 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é les éléments suivants au fichier /etc/httpd.conf (fichier de configuration d'Apache) :
AllowOverride All
Le site de vérification des en-têtes 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 si sans l'en-tête Access-Control-Allow-Origin. (Note : ils pourraient vérifier les adresses IP, puisque 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, en signalant par erreur :
L'en-tête "Access-Control-Allow-Origin" n'est pas présent dans le message demandé. demandée. Origine ' {mydomain} L'accès est donc interdit.
Je pense que ça doit être une sorte de "première". IE fonctionne correctement ; Chrome, Firefox, Opera et Edge sont tous bogués ; et Chrome est le le pire . N'est-ce pas l'exact opposé du cas habituel ?