24

我有一个 html 文件,其中有几个 d3-graphs 直接用脚本标签写入其中。当我将其中一个图外包到外部 js 文件中时,我收到此消息“NS_ERROR_DOM_BAD_URI:访问受限 URI 被拒绝”。如果我使用 d3.json 删除读取本地 json 文件的代码,错误就会消失。但是必须可以在嵌入到 html 中的外部 js 中加载 json 文件,对吗?

d3.json("forcetree.json", function(json) {
root = json;
update();
});
4

4 回答 4

24

我遇到了同样的错误,解决方案是将 index.html、script.js 和 data.json 放在同一个目录中。

于 2013-09-12T03:13:23.660 回答
6

指定相对于 .html 文件根的 .json 文件

前任:

d3.json("js/forcetree.json", function(json) {
  root = json;
  update();
});
于 2013-12-04T21:26:04.970 回答
0

我有同样的问题,我使用这样的json文件路径解决了:

d3.json("file:///C:/path/...../js/forcetree.json", function(json) {
  root = json;
  update();
});

如果我从浏览器访问此路径,文件将打开。

于 2015-02-14T20:06:49.400 回答
0

我通过将 JSON 文件移动到包含我的 html 文件的目录的子目录来解决了这个问题。

破碎的:

www/
  code/
    hello.html    # refers to ../data/hello.json
  data/
    hello.json

在职的:

www/
  hello.html      # refers to data/hello.json
  data/
    hello.json
于 2016-10-14T22:19:59.270 回答