我现在很困惑,为什么这不起作用。
<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>
答案 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。请所有者将您的域列入允许来源标头列入白名单。