【问题标题】:Unable to load Json file in d3.js无法在 d3.js 中加载 Json 文件
【发布时间】:2014-06-30 17:26:59
【问题描述】:

当我们点击 Circle 时,我正在使用 d3.js 库开发解决方案,它应该被缩放并且数据需要在圆圈内显示。

作为第一步,我试图从 Json 文件中加载数据。

以下是 json 文件的内容,我使用的是 Visual Studio 2012。

我的数据.json

[{"name":"Ravi","age":25},{"name":"aman","age":29}]

.html 文件和 .json 文件都在同一个文件夹中,我仍然收到错误。

线路:5734 错误:无法获取属性“孩子”的值:对象为空或未定义

下面是脚本:

    var canvas = d3.select("body").append("svg")
                 .attr("width", 500)
                  .attr("height", 500);

    d3.json("mydata.json", function (data) {
        var treemap = d3.layout.treemap()
        .size([500, 500])
        .nodes(data)
        console.log(treemap);

    });

</script>

注意:我只是尝试加载文件并使用布局树图。

谢谢

【问题讨论】:

    标签: javascript json d3.js treemap


    【解决方案1】:

    要更好地了解正在发生的事情,请使用 debugger; + dev console 或添加更多日志记录:

    d3.json("mydata.json", function (error, data) {
      console.log(error);
      console.log(data);
        var treemap = d3.layout.treemap()
          .size([500, 500])
          .nodes(data)
        console.log(treemap);
    });
    

    使用python -m SimpleHTTPServer 托管文件并导航到127.0.0.1:8000 会在我的计算机上记录以下内容:

    null
    [{"name":"Ravi","age":25},{"name":"aman","age":29}] 
    [[{"name":"Ravi","age":25},{"name":"aman","age":29}]] 
    

    这让我觉得您没有通过服务器访问文件;我会尝试做that

    【讨论】:

    • 作为一个快速测试,Firefox可能允许您在没有服务器的情况下加载本地文件,但 Adam 关于使用服务器的建议仍然有效。
    • 嗨亚当,感谢您的回复我正在本地主机上运行 html 页面:localhost:53496/ZoomExample.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多