不允许跨域ajax GET参数

时间:2014-01-12 18:03:38

标签: javascript jquery ajax json

我正在尝试使用javascript从API获取数据,但我在请求时收到错误。

$.ajax({
    dataType: "jsonp",
    url: "https://www.bitstamp.net/api/ticker/",
    type: "GET",
    succes: myfunction
});

结果:

{"error": "GET parameters not allowed for this request."}

我使用Jsonp是因为它的另一个域。 为什么我不能用Jquery获取数据? 如果我只是浏览链接,我可以看到Json。

2 个答案:

答案 0 :(得分:1)

因为,正如错误消息所示,bitstamp不允许它。

如果他们收到数据的JSONP请求,他们会回复错误而不是正常响应。

答案 1 :(得分:1)

我刚尝试从您使用AJAX提供的网址中获取数据。服务器没有使用$.ajax返回任何数据,这清楚地表明服务器不支持跨域请求。这就是为什么我问你是否有权访问代码,因为你有手动指定您是否希望API支持跨域请求。

解决此问题的一种方法是使用某种服务器端语言来访问此API。我曾经遇到过类似的问题和使用的 PHP CURL 来访问API。然后php代码将数据提供给JQuery以用于前端。所以你可以编写中继代码来解决这个问题。