0

我已经花了我晚上的大部分时间来处理这个问题。

我正在尝试使用 d3.json 将此实时 json 数据http://citibikenyc.com/stations/json加载到我网站上的页面上。

只是测试:

var bike = "http://citibikenyc.com/stations/json";

d3.json(bike, function(error, json) {
console.log(json);
});    

不起作用。我得到错误

XMLHttpRequest cannot load http://citibikenyc.com/stations/json. Origin http://hochemoche.com is not allowed by Access-Control-Allow-Origin. 

有什么我想念的吗?我提交请求的页面是否可能存在一些限制?对此的任何帮助将不胜感激。我不相信来自 citibike 的网站有任何限制,因为这个相同的请求就像我的终端的 curl 一样,其他人也使用过这些数据,但似乎无法根据他们的代码弄清楚他们是如何加载它的.

例如:http: //jehiah.cz/citibikenyc

4

2 回答 2

0

@布拉克莱布尔

  1. Access-Control-Allow-Origin 参数必须由 JSON 源设置,在本例中为“ http://citibikenyc.com/stations/json ”。
  2. 尝试在您发出的 ajax 请求的标头中包含 CORS 参数。请参阅http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/
  3. 您可以尝试其他替代方案,例如 jsonp 等,上面的链接中提供了相关信息。
于 2013-10-22T04:33:13.040 回答
0

如果您使用 Chrome 浏览器,您还可以使用扩展名“ Allow-Control-Allow-Origin: * ”。安装并启动它后,我相信它会起作用。

希望一切都会好起来的!

于 2017-06-16T08:15:33.157 回答