在Chrome中运行以下代码时,只有在其他浏览器标签/窗口中加载d3.json
时,才会触发pubs.json
回调。将d3.json
粘贴到Chrome浏览器控制台中后,它才能工作;如果在Firefox中运行,它就可以工作...
我在http.server
上使用Python的localhost
。
为什么它会在Chrome中以这种方式起作用?
目录结构:
proj/
index.html
pubs.json
代码:
<html>
...
<body>
...
<script>
$(document).ready(function(){
d3.json("/pubs.json").then(function(data) {
console.log(data);
});
});
</script>
</body>
</html>
答案 0 :(得分:-1)
Chrome对于CORS
(Same Origin
)颇为痴迷
尝试以下操作:
d3.json(chartURL, {credentials: 'same-origin'}).then(function(data) {
....
});
如果文件是由另一个选项卡加载的,则可以在缓存中找到它,也许这样的要求就不再那么严格了。