1
resposta

JSON em arquivo

Prezados, bom dia!

O professor usou o código abaixo para obter as informações.

botaoAdicionar.addEventListener("click", function(){
    console.log("Buscando pacientes...");
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://api-pacientes.herokuapp.com/pacientes");
    xhr.addEventListener("load", function(){
      console.log(xhr.responseText);
    })

    xhr.send();
});

Quando altero a URL para lê de um local "C:/temp/teste.JSON" o mesmo não funciona, aparecendo o erro:

Access to XMLHttpRequest at 'file:///C:/temp/teste.JSON' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

A forma de leitura está errada ou é para ser feita a leitura de outra forma?

1 resposta

Boa tarde Thiago.

Requisições AJAX só funcionam se o domínio da página ou arquivo que você quer acessar for o mesmo da sua página.

Eles criaram isso para evitar que páginas carregassem dentro delas outras páginas e assim houvesse roubo de senha ou outras informações sensíveis de uma página tentando se passar por outra.

Para os protocolos http, data, chrome, chrome-extension, https é possível o AJAX funcionar se no servidor tiver um cabeçalho permitindo Cross origin requests.

A leitura pode ser feita se você colocar seu arquivo dentro do seu projeto no heroku.

Espero ter ajudado!!!