我正在尝试使用Bitstamp API。但是它不起作用。
这是代码:
$.getJSON("https://www.bitstamp.net/api/ticker/", function(person){
$.each(person, function(key, value){
document.write(key+":"+value+"<br />");
});
});
这是jsfiddle的:http://jsfiddle.net/mojit/QKTrD/
我没有明白这里出了什么问题。正如我在浏览器上运行API网址时一样。但是,当我尝试使用jQuery访问其参数时,它不起作用。
我试图用其他人的API网址替换该网址,例如MtGox,而MtGox可以正常工作。但是Bitstamp却没有。
谁能告诉我怎么了?
会真的很感激。
谢谢。
最佳答案
您正在尝试从另一个域访问数据。这称为跨域请求,通常是不允许的。有一种称为jsonp的技术,您应该检查bitstamp是否支持此技术。如果没有,那么您应该代理。代理是指一些使用某些服务器端技术进行获取请求的本地文件。您可以在php,nodejs或您使用的任何程序中实现此功能。然后,您的js代码将向您服务器上的文件发出请求。
$.ajax({
dataType: "json",
url: "proxy.php",
data: { url: "https://www.bitstamp.net/api/ticker/" },
success: function(result) {
$.each(person, function(key, value){
// ...
});
}
});
因此,只需传递您要从中获取数据的URL。
关于javascript - jQuery不适用于getJSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19977562/