2
respostas

Erro "Access-Control-Allow-Origin"

Estou tentado buscar dados da api de uma exchange, usando uma aplicação cordova que estou desenvolvendo, e estou recebendo o erro de "Access-Control-Allow-Origin" no browser. Mais quando acesso a api via navegador ou via 'POSTMAN' ela retorna os dados sem erro. Se alguém poder me dar uma dica do que eu estou fazendo de errado!!!

Tentei com jquery:

    $.ajax({

        url: 'https://api.bitvalor.com/v1/ticker.json',
        type: 'GET',
        error: function(erro) {
           console.log(erro);
           paragrafo.textContent= 'erro' + erro;
        },
        success: function(dados) {
           console.log(dados);

        }

    });

E com XMLHttpRequest:

  var xhr = new XMLHttpRequest();

    xhr.open("GET", "https://api.bitvalor.com/v1/ticker.json",true);
    xhr.setRequestHeader("Access-Control-Allow-Origin", "https://api.bitvalor.com/v1/ticker.json");

    xhr.addEventListener("load", function() {
        console.log(xhr.responseText);
    });
    xhr.send();
2 respostas

Tenta adicionando dataType: 'jsonp',

$.ajax({
        url: 'https://api.bitvalor.com/v1/ticker.json',
     dataType: 'jsonp',
        type: 'GET',
        error: function(erro) {
           console.log(erro);
           paragrafo.textContent= 'erro' + erro;
        },
        success: function(dados) {
           console.log(dados);
        }
    });

Paula Zaidel, obrigado pela ajuda, estou consumindo por uma aplicação node agora, e realmente só funciona quando eu especifico o, dataType: 'jsonp', porem ele devolve um tipo diferente de objeto no console, São dados da requisição? como eu faço para receber o json que o servidor esta disponibilizando?

A aplicação está devolvendo o seguinte:

Object
abort
:
ƒ (a)
always
:
ƒ ()
complete
:
ƒ ()
done
:
ƒ ()
error
:
ƒ ()
fail
:
ƒ ()
getAllResponseHeaders
:
ƒ ()
getResponseHeader
:
ƒ (a)
overrideMimeType
:
ƒ (a)
pipe
:
ƒ ()
progress
:
ƒ ()
promise
:
ƒ (a)
readyState
:
4
setRequestHeader
:
ƒ (a,b)
state
:
ƒ ()
status
:
200
statusCode
:
ƒ (a)
statusText
:
"load"
success
:
ƒ ()
then
:
ƒ ()
__proto__
:
constructor
:
ƒ Object()
hasOwnProperty
:
ƒ hasOwnProperty()
isPrototypeOf
:
ƒ isPrototypeOf()
propertyIsEnumerable
:
ƒ propertyIsEnumerable()
toLocaleString
:
ƒ toLocaleString()
toString
:
ƒ toString()
valueOf
:
ƒ valueOf()
__defineGetter__
:
ƒ __defineGetter__()
__defineSetter__
:
ƒ __defineSetter__()
__lookupGetter__
:
ƒ __lookupGetter__()
__lookupSetter__
:
ƒ __lookupSetter__()
get __proto__
:
ƒ __proto__()
set __proto__
:
ƒ __proto__()

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software