“NS_ERROR_DOM_BAD_URI:拒绝访问受限制的URI”

时间:2013-06-27 10:16:24

标签: javascript ajax json d3.js jsonp

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

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

4 个答案:

答案 0 :(得分:20)

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

答案 1 :(得分:6)

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

例如:

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

BROKEN:

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

WORKING:

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