我已经设置了一个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中打开了调试控制台,我可以看到请求网址是正确的,它确实通过了,响应是200,但响应中没有数据。
更新。事实证明浏览器允许通过java脚本从不同主机下载文件(如http://www.w3.org/TR/cors/中所述)。我在Apache中设置了代理,目前它可以工作,但我正在寻找更好的解决方案。