jQuery不适用于getJSON

时间:2013-11-14 12:24:13

标签: javascript jquery

我正在尝试使用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没有。

谁能告诉我哪里出错?

真的很感激。

感谢。

1 个答案:

答案 0 :(得分: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){
      // ...
   });
  }
});

因此,只需传递要从中获取数据的网址。