Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

10
respostas

Erro cors

Bom até pouco tempo meu código funcionava perfeitamente no google chrome, então do nada começou dar problema de cors, não entendi o motivo e tentei de tudo e não consegui resolver, então fui para o mozila e estranhei pois no firefox funciona perfeitamente, alguém sabe o motivo que estou dando erro de cors? Agradeço pela atenção desde já.

Failed to load https://api.mercadolibre.com/users/113835960/items/search?status=active&access_token=APP_USR-5901258004946867-040922-12bad0a535ebb3a5b7a168a97290eefe-113831160: The 'Access-Control-Allow-Origin' header has a value 'null' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.

function buscaIDAnuncioML(){

           var xhr = new XMLHttpRequest();

        xhr.open("GET", "https://api.mercadolibre.com/users/113831160/items/search?status=active&access_token=" + token);        

        xhr.addEventListener("load", function(){
            var resposta = xhr.responseText;
            var array = JSON.parse(resposta);

            var anuncioID = array.results;

        });

        xhr.send();
};
10 respostas

Opa Fábio, muito estranho isso. Só dá problema no Chrome? Nos outros navegadores funciona normal, é isso mesmo?

Putz, o problema é, seria mais facil te ajudar se pudessemos testar, tem alguma forma de acessarmos a URL que da erro no CORS?

Sim, o erro e somente no navegador google chrome, eu removi do windows e instalei novamente e continuou não funcionando. Testei em outro computador o mesmo script e também não funciona somente no google chrome. Edge e Firefox funciona perfeitamente.

Fábio, concordo com o Rafael, se pudéssemos testar seria muito mais fácil. Mas só pra confirmar uma coisa, você está testando localmente? Sob qual protocolo? Tem um servidor rodando o HTTP ou está acessando a página via file mesmo?

Via file mesmo, um exemplo.

function buscaIDAnuncioML(){

           var xhr = new XMLHttpRequest();

        xhr.open("GET", "https://api.mercadolibre.com/sites/MLB/search?nickname=investimentocom");        

        xhr.addEventListener("load", function(){
            var resposta = xhr.responseText;
            var array = JSON.parse(resposta);

            var anuncioID = array.results;

        });

        xhr.send();
};

Se você está abrindo o HTML que executa essa página via file mesmo, tenta colocar ele em um servidor HTTP.

Concordo com Wanderson, tente via HTTP, para facilitar (caso use node) instale o http-server (npm install --g http-server), após instalar, acesse a pasta pelo terminal e execute o comando http-server, ele vai abrir a pasta do seu projeto em um um ip

Fábio, dá um retorno pra gente aqui? A dica do Rafael é até mais prática que a minha. :)

Testa pra gente por favor?

Infelizmente não funcionou, pelo node não funcionou com o http-server, pelo servidor web meu da hostsgator funcionou sim mas ai fica difícil para desenvolver pois toda hora para testar seria necessário da upload.

Failed to load https://bittrex.com/api/v1.1/public/getmarkets: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.25.43:8080' is therefore not allowed access.

Failed to load https://bittrex.com/api/v1.1/public/getmarkets: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access.

function buscaGet(){

    var xhr = new XMLHttpRequest();

        xhr.open("GET", "https://bittrex.com/api/v1.1/public/getmarkets");

        xhr.addEventListener("load", function(){
            var resposta = xhr.responseText;
            var array = JSON.parse(resposta);

            console.log(array);

        });

        xhr.send();       
};
buscaGet();

Puxa Fávio, é, você não vai ter muito o que fazer por que o CORS precisa ser liberado pelo servidor.