Solicitação do jQuery Ajax do sistema de arquivos local (arquivo do Windows: ///)

Eu estou tentando fazer um pedido de ajax para obter o conteúdo de "http://localhost/" em execução no Windows Wamp Server.

O script está sendo executado de algo como isto:

file:///C:/my/path/index.html

Estou usando apenas uma solicitação $ .ajax padrão para tentar obter o conteúdo do localhost:

 $.ajax({ type: 'GET', url: 'http://localhost/', success: function(data) { alert('success'); }, error: function (data) { alert('failed'); } }); 

Eu não posso conseguir que seja bem sucedido … Parece haver algum problema com o sistema de arquivos local ou algo assim. Eu não tenho muita certeza.

Problema resolvido!

Eu só tive que adicionar este header ao meu arquivo index.php para http: // localhost /

header('Access-Control-Allow-Origin: *');

Obrigado pela vossa ajuda de qualquer maneira pessoal!

Você diz que o script está sendo executado a partir de um file:/// URL. É melhor não fazer solicitações AJAX de URLs de file , porque elas são tratadas de maneira inconsistente. O Chrome, por exemplo, não permite totalmente isso.

No entanto, seu maior problema aqui é a política de mesma origem: você só pode fazer solicitações AJAX para o mesmo host que a própria página da web. file:/// e http://localhost não são o mesmo host (mesmo se forem a mesma máquina).

É melhor executar tudo off http://localhost .

Isso provavelmente não funcionará, pois o navegador achará que essa é uma solicitação de domínio cruzado. Você accessu o arquivo por meio de um arquivo: // URL, mas está tentando recuperar dados de http: // localhost . Tente acessar o arquivo original de http: // localhost também e ele provavelmente começará a funcionar.