我正在尝试使用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/

10-10 08:25