Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 &引用;无法读取属性';用户名';“未定义”的定义;从JSON数据创建html表时出错_Javascript_Json - Fatal编程技术网

Javascript &引用;无法读取属性';用户名';“未定义”的定义;从JSON数据创建html表时出错

Javascript &引用;无法读取属性';用户名';“未定义”的定义;从JSON数据创建html表时出错,javascript,json,Javascript,Json,我正在尝试用JSON为一个留言板网站创建一个html表。我有一个名为“msgs”的JSON用于消息,其中包含用户名、消息和日期的字典。我试图提取要添加到表中的每个元素,但得到一个错误 最初,我将所有行分别追加到表中,但我创建了一个变量“table”,向其中添加所有元素,并在末尾追加所有内容 msgs=[{username:"John" message:"I am John" date: "2019-09-05 18:02:53.000000"} {user

我正在尝试用JSON为一个留言板网站创建一个html表。我有一个名为“msgs”的JSON用于消息,其中包含用户名、消息和日期的字典。我试图提取要添加到表中的每个元素,但得到一个错误

最初,我将所有行分别追加到表中,但我创建了一个变量“table”,向其中添加所有元素,并在末尾追加所有内容

msgs=[{username:"John"
       message:"I am John"
       date: "2019-09-05 18:02:53.000000"}
      {username:"Mary"
       message:"I am Mary"
       date:"2019-09-06 18:02:53.000000"}
]

function buildTable(msgs){
        let table = ""
        table += '<table style="width:100%" border="1">';
        for (var i = 0; 1 < msgs.length; i++){
            let username = msgs[i]["username"];
            let message = msgs[i]["message"];
            let date = msgs[i]["date"];
            table += '<tr>';

            table += '<td>' + username + '</td>';
            table += '<td align="left">'+ message + '</td>';
            table += '<td align="right">' + date + '</td>';

            table += '</tr>';
        }
        table +='</table>';
        $("#messagecontainer").append(table);
应该是John,但我收到一个错误,上面写着:

“未捕获类型错误:无法读取未定义的属性‘username’”


我尝试将msgs[I][username]登录到控制台,它正确地打印了“John”。但是,当我尝试将其添加到表中时,它就是不起作用。

可能是因为for循环的
1(第一)
而不是
I(变量I)
?因此,该条件始终为真,并且循环将结束

可能是因为for循环具有
1(编号1)
而不是
i(变量i)
?因此,该条件始终为真,循环将耗尽,因为循环处于无限模式。在for循环内部,您正在检查
1
,此条件将始终为真。因为msgs数组中只有两个对象,所以在第三次迭代中它会抛出

未捕获类型错误:无法读取未定义的属性“username”


这是因为你的循环是在无限模式下进行的。在for循环内部,您正在检查
1
,此条件将始终为真。因为msgs数组中只有两个对象,所以在第三次迭代中它会抛出

未捕获类型错误:无法读取未定义的属性“username”


将1msgs无效。缺少大量逗号:将1msgs无效。缺少很多逗号:
  msgs[i][username] 
= msgs[0][username]
= "John"