Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript data()不';t读取d3.js中的数据_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript data()不';t读取d3.js中的数据

Javascript data()不';t读取d3.js中的数据,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我有以下简单的代码: eventsMapJSON = d3.json("events.json", function(error, eventsMapData) { toplist = d3.select("#container") .append("ul"); toplist.selectAll("li") .data(eventsMapData) .enter() .append("li") .t

我有以下简单的代码:

eventsMapJSON = d3.json("events.json", function(error, eventsMapData) {
    toplist = d3.select("#container")
        .append("ul");
    toplist.selectAll("li")
        .data(eventsMapData)
        .enter()
        .append("li")
        .text(function(d){
            return d;
        })
}
但是,d3不会读取
selectAll
函数中的数据,因此我试图放入容器中的简单列表不存在。在调试器上,我可以看到
标记,但看不到
  • 标记。另外,当我把断点放在
    行上时,返回d,调试器不会停在那里,这意味着d3可能会传递空数据


    知道为什么会发生这种情况吗?

    您使用的是哪种浏览器?Chrome和Firefox(不过我不认为浏览器是问题所在)最可能的问题是您的数据变量为空,因为读取文件时出错。您是否测试了
    error
    eventsMapData
    以确保第一个为空,第二个包含您的数据?第二个最可能的问题是您的JSON文件未格式化为数组。如果它被格式化为一个大的哈希映射/字典对象,它将被解释为长度为零,并且不会创建任何元素。如果是这样的话,你可以用它把对象变成数组。是的,这就解决了我的问题!非常感谢@AmeliaBR。写下你的评论作为回答,这样我就可以接受了。