Javascript 不允许跨域ajax获取参数

Javascript 不允许跨域ajax获取参数,javascript,jquery,ajax,json,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是因为它是另一个域。 为什么我不

我试图用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。

因为,正如错误消息所说,bitstamp不允许这样做


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

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


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

它是第三方API还是您可以访问代码?如果我浏览它,我可以看到json,因此我可以访问,因为它是一个公共函数“为什么我不能用Jquery获取数据?”因为服务器似乎不支持/允许JSONP请求。服务器应用程序必须同时支持JSONP和CORS。它们不是自动的,也不是有保证的。而且,如果服务器没有选择这两种方式,则不可能进行跨域Ajax请求。@Freddy如果CORS也不受支持,您可能需要在自己的源站上创建一个服务器端代理,为客户端向
bitstamp.net
发出请求并报告响应。如果您想使用PHP,我可以为您提供访问此APIs的PHP代码,这样他们就不会让我通过jsonp获取数据,还有其他方法读取这些数据吗?@Freddy使用服务器端的一些中继代码从这个链接获取数据。