【问题标题】:d3.json Troublesd3.json 问题
【发布时间】:2013-10-22 04:23:02
【问题描述】:

我晚上的大部分时间都在做这个。

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

【问题讨论】:

    标签: javascript ajax json d3.js data-visualization


    【解决方案1】:

    @Blaklaybul

    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 等,以上链接中提供了相关信息。

    【讨论】:

    • 感谢您的帮助,我有一个朋友使用 php 成功提出了请求...我对这些东西还很陌生,希望能够让它工作!您可以尝试使用 d3.json 从该站点获取吗? citibikenyc.com/stations/json
    • 根据jsonlint.com,一切似乎都很好,但我的代码无法正常工作
    【解决方案2】:

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

    希望一切都会好起来的!

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      相关资源
      最近更新 更多