【问题标题】:How to download a json file from S3 via d3.json如何通过 d3.json 从 S3 下载 json 文件
【发布时间】:2015-06-06 20:13:52
【问题描述】:

我已经设置了一个 S3 存储桶并在那里上传了一些 json 文件。每个文件都有 Content-type:application/json。通过 URL 访问的文件,如果我在浏览器中键入或使用 wget,我可以毫无问题地下载它。

但如果我尝试通过 d3.json 或 d3.xhr 下载此文件,该函数返回 null:

d3.json(jsonUrl, function(json) {
    alert(json); 
});

d3.xhr(jsonUrl, function(r) {
    alert(r);
});

我在 Firefox 中打开了调试控制台,我可以看到,请求 url 是正确的,它确实通过了,响应是 200,但是响应中没有数据。

更新。事实证明,浏览器确实允许通过 java 脚本从不同的主机下载文件(如 http://www.w3.org/TR/cors/ 中所述)。我已经在 Apache 中设置了一个代理,目前它可以工作,但我正在寻找更好的解决方案。

【问题讨论】:

标签: javascript json d3.js amazon-s3


【解决方案1】:

由于浏览器的“Same Origin Policy”安全模型,您无法执行此操作。你可以通过使用JSONP 来实现它而无需代理

例如,看看上面链接中的示例代码

【讨论】:

    猜你喜欢
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 2020-01-06
    • 2014-01-03
    相关资源
    最近更新 更多