4

如何访问以下数据?目前我只想玩弄数据,以便更好地了解它是如何工作的。我以前从未使用过 API,但是我熟悉 JSON 的概念。

 $.getJSON( "https://api.forecast.io/forecast/APIKEY/40.463487,17.248535", function( data ) {
    console.log('here');
    console.log(data);
 });

我已经在本地尝试过,它返回: XMLHttpRequest cannot load https://api.forecast.io/forecast/APIKEY/40.463487,17.248535。Access-Control-Allow-Origin 不允许来源http://weathercast.com 。

我需要的只是数据。

4

2 回答 2

10

你不能做跨域AJAX查询,

如果你想解决这个问题,你可以使用 JSONP:

$.ajax({
  url: "https://api.forecast.io/forecast/APIKEY/40.463487,17.248535",
  dataType: "jsonp",
  success: function (data) {
      console.log('here');
      console.log(data);
  }
});
于 2013-11-11T14:22:04.430 回答
3

这不起作用的原因是您的浏览器具有跨域安全策略。您不能向其他域发出 JSON 请求。

但!JSONP 来救援!Forecast.io 是否有 JSONP 端点?如果是这样,你很幸运。如果没有,您将需要为对另一个域的请求实现服务器端代理,并从您的 javascript 中调用该代理。

于 2013-11-11T14:21:32.623 回答