Eu marquei a resposta de Miro com +1 para o link para o site do verificador de cabeçalho http://www.webconfs.com/http-header-check.php . Ele exibe um anúncio desagradável toda vez que você o usa, mas é, no entanto, muito útil para verificar a presença do cabeçalho Access-Control-Allow-Origin.
Estou lendo um arquivo .json do javascript em minha página da web. Descobri que adicionar o seguinte ao meu arquivo .htaccess corrigiu o problema ao visualizar minha página da web no IE 11 (versão 11.447.14393.0):
<FilesMatch "\.(json)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
Também adicionei o seguinte ao /etc/httpd.conf (arquivo de configuração do Apache):
AllowOverride All
O site do verificador de cabeçalho verificou se o cabeçalho Access-Control-Allow-Origin está sendo enviado (obrigado, Miro!).
No entanto, Firefox 50.0.2, Opera 41.0.2353.69 e Edge 38.14393.0.0 buscam o arquivo de qualquer maneira, mesmo sem o cabeçalho Access-Control-Allow-Origin. (Observação: eles podem estar verificando endereços IP, já que os dois domínios que eu estava usando estão hospedados no mesmo servidor, no mesmo endereço IPv4.)
No entanto, o Chrome 54.0.2840.99 m (64 bits) ignora o cabeçalho Access-Control-Allow-Origin e falha de qualquer maneira, relatando erroneamente:
Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. Origem ' {mydomain} ', portanto, não é permitido o acesso.
Acho que isso tem que ser algum tipo de "primeiro". O IE está funcionando corretamente; Chrome, Firefox, Opera e Edge são todos bugados; e o Chrome é o pior . Não é exatamente o oposto do caso usual?
a2enmod headers