无法使用javascript从URL获取JSON响应

时间:2017-03-14 09:46:49

标签: javascript jquery json

我正在尝试从Kraken api获取JSON响应以转换流量,但我找到的所有方法(也在stackoverflow中),尽管它们适用于其他网站(例如“https://api.cryptonator.com/api/currencies”或在stackoverflow线程中讨论的一个“/ questions / 12460378 / how-to-get-json-from-url-in-javascript”),它们根本不适用于kraken(例如“https://api.kraken.com/0/public/Assets”),我没有得到任何回复,因为URL被破坏了,但是通过浏览器访问它我可以清楚地看到JSON对象。

我正在使用纯JavaScript,因为我在wordpress工作,但如果有必要,我可以添加jquery(我想继续使用js以免浪费其他时间)。

直到现在,我试过了:

    function httpGet(theUrl)
{
    var xmlHttp = null;

    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}    
prove = eval('(' + httpGet("https://api.kraken.com/0/public/Assets") + ')');

使用cryptonator和yahoo(第二个例子),但没有使用kraken。

    var getJSON = function(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'json';
    xhr.onload = function() {
      var status = xhr.status;
      if (status == 200) {
        callback(null, xhr.response);
      } else {
        callback(status);
      }
    };
    xhr.send();
};

getJSON('https://api.kraken.com/0/public/Assets',
function(err, data) {
  if (err != null) {
    alert('Something went wrong: ' + err);
  } else {
    alert('Your query count: ' + data);
  }
});

和以前一样。我也试过jquery但结果是一样的,kraken url是唯一不起作用的

$.getJSON("https://api.kraken.com/0/public/Assets", function(data) {
    // Get the element with id summary and set the inner text to the result.
    $('#summary').text(data.result);
});

我真的不明白为什么我不能设法从该网站获取和解析这个该死的JSON对象,而其他人工作得很好,考虑到如果我通过浏览器输入链接它会给我一个响应的事实

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

主要问题是:



No 'Access-Control-Allow-Origin' header is present on the requested resource.




如果要使用jsonp,服务器必须具有jsonp api。 单击here以查看服务器支持。