制作树时D3.js json错误

时间:2012-07-05 23:14:49

标签: javascript d3.js

我想在D3.js中制作自己的树,但我无法弄清楚如何制作一棵树。我查看了以下链接:

http://bl.ocks.org/1249394#interactive_tree.css
d3js Tree square

甚至尝试复制它们以使某些东西工作以便我可以修补,但它对我不起作用。我已经用警报来填充代码,在谱系和可折叠树中,代码在d3.json调用之后立即停止工作。我也复制了json文件并重命名它们以便它们是相同的。在谱系示例中

d3.json("info.json", function(json) {
  alert(json);
  var nodes = tree.nodes(json); 
  alert('hi');

所以这里第一个警报起作用而第二个警报不起作用,这在两个例子中都会发生。如果有人知道原因,我将非常感谢您的解释或解释。感谢!!!

我发现当调用d3.json(“localhost ...”,callback)时,它返回null。我在另一篇文章中读到有跨域限制。我不确定这意味着什么或如何解决它

我已经在运行我的应用程序的同一目录中本地尝试了它,并且我已经从我的Xamp服务器尝试过它。仍然在调用alert(json)时它显示为null。

1 个答案:

答案 0 :(得分:1)

d3 documentation有更多相关信息。基本上,您的浏览器不会从本地文件系统或原始页面未打开的服务器加载JSON文件。有很多方法可以解决这个问题,例如可以使用--disable-web-security启动Google Chrome以禁用这些限制,但不建议这样做。

所有现代浏览器都有一个Javascript错误控制台,它会向您显示未加载JSON文件的确切原因。请记住,当您通过本地Web服务器提供页面时,您不应在JSON文件的路径中指定localhost://或类似内容,而只需指定相对于HTML文件所在目录的路径。 / p>