为什么这个JSON查询不起作用?

时间:2015-03-08 20:06:23

标签: javascript jquery json

我现在很困惑,为什么这不起作用。

<div id="result" style="color:red"></div>

var getJSON = function(url) {
  return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
  var status = xhr.status;
  if (status == 200) {
    resolve(xhr.response);
  } else {
    reject(status);
  }
};
xhr.send();
  });
};

getJSON('https://www.eobot.com/api.aspx?coin=DOGE&json=true').then(function(data) {
alert('Your Json result is:  ' + data.DOGE); //you can comment this, i used it to debug

result.innerText = data.DOGE; //display the result in an HTML element
}, function(status) { //error detection....
  alert('Something went wrong.');
});

它与http://jsfiddle.net/RamiSarieddine/HE2nY/1/完全相同,但它确实有效..

编辑:为了清楚起见,脚本应该将内容放在url(在DOGE元素内)并在

中显示
<div id="result" style="color:red"></div>

1 个答案:

答案 0 :(得分:1)

我测试了它并且我得到了以下错误,这意味着当您尝试从https://www.eobot.com/api.aspx?coin=DOGE&json=true获取json时,由于跨浏览器规则,它被阻止接收数据。

No 'Access-Control-Allow-Origin' header

如何解决,

您必须拥有https://www.eobot.com并在www.eobot.com上运行此脚本,否则您无法通过跨域策略获取json。请所有者将您的域列入允许来源标头列入白名单。