2

我正在尝试使用 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 url 一样。但是当我尝试使用 jQuery 访问它的参数时它也不起作用。

我试图用 MtGox 等其他 API url 替换 url,而 MtGox 效果很好。但 Bitstamp 没有。

谁能告诉我出了什么问题?

会很感激。

谢谢。

4

1 回答 1

2

您正在尝试从另一个域访问数据。这称为跨域请求,通常不允许。有一种称为 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。

于 2013-11-14T12:32:12.943 回答