javascript - 有没有办法使用 JavaScript 中的 for 循环将 JSON 数据转换为嵌套数组?
问题描述
我正在尝试使用 JavaScript 在 list.php 上显示数据(一堆即将发生的事件),我认为 for 循环是可行的方法,但我不确定这有什么问题。控制台什么也不显示,以前我在 xhttp.onreadystatechange 之外有我的 for 循环,它给出了“getData is undeclared”错误消息。如果我的问题措辞错误或不清楚,我对此很抱歉。我是一个初学者编码所以请不要过于复杂的答案!
这是我的 list.php 代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript"></script>
<script>
function getData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var javaobj = JSON.parse(xhttp.response);
document.getElementById('div1').innerHTML = javaobj.name + " " +
javaobj.date + " " + javaobj.time + " " + javaobj.location + " " + javaobj.organiser;
}
xhttp.open("GET", "events.json", true);
xhttp.send();
//for loop to go split javaobj into array elements
for (i = 0; i < javaobj.length; ++i) {
console.log(javaobj[i].name);
console.log(javaobj[i].date);
console.log(javaobj[i].time);
console.log(javaobj[i].location);
console.log(javaobj[i].organiser);
}
}
}
</script>
</head>
<body>
<input type="button" name="data" onclick="getData()" value="Click to View Events" />
<div id="div1"></div>
</body>
</html>
解决方案
推荐阅读
- php - Wordpress 管理员通过子域
- ruby-on-rails - 为嵌套关联选择序列化程序
- c# - (C#) 数组未填充
- binding - 无法推断复杂的闭包返回类型;添加显式类型以消除歧义 [SWIFTUI]
- android - 了解android中的firebase快照监听器定价
- javascript - 是否可以在反应中强制一个组件在另一个组件内部使用?
- python - 按另一个对数据框进行排序
- java - 当用户锁定屏幕时如何保持我的 WebView 运行?
- css - 如何防止 CSS 网格元素溢出其容器?
- database - 使用 Delphi 和 FireDAC 从数据库中读取 DateTime