D3.js 制作树时的 json 错误

D3.js json error when making tree

本文关键字:json 错误 js D3      更新时间:2023-09-26

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


http://bl.ocks.org/1249394#interactive_tree.cssd3js 树广场

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

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

所以这里第一个警报有效,第二个警报无效,这在两个示例中都发生。如果有人知道原因,将不胜感激。谢谢!!!

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

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

d3 文档对此提供了更多信息。基本上,您的浏览器不会从本地文件系统或原始页面不在的服务器上加载 JSON 文件。有一些方法可以解决这个问题,例如谷歌浏览器可以用--disable-web-security启动以禁用这些限制,但不建议这样做。

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