gpt4 book ai didi

javascript - 这段 HTML、JavaScript 和 JSON 代码有什么问题?

转载 作者:行者123 更新时间:2023-11-28 20:08:44 25 4
gpt4 key购买 nike

我在名为 test.html 的文件中包含以下 HTML 代码。下面的 HTML 文件和 JSON 文件都存储在服务器上的同一目录中。

<!DOCTYPE html>
<html>
<head>
<title>Shape Up</title>
<meta name="robots" content="noindex,follow">
<meta name="description" content="">
<meta name="keywords" content="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="JavaScript" type="text/javascript">
function ajax_get_json()
{
var hr = new XMLHttpRequest();
hr.open("GET", "game.json", true);
hr.setRequestHeader("Content-type", "application/json", true);
hr.onreadystatechange = function()
{
if(hr.readyState == 4 && hr.status == 200)
{
var data = JSON.parse(hr.responseText);
var results = document.getElementById("results");
results.innerHTML = "";
for(var obj in data)
{
results.innerHTML += data[obj].title;
}
}
}
hr.send(null);
results.innerHTML = "requesting...";
}
</script>
</head>
<body>
<div id="results"></div>
<script language="JavaScript" type="text/javascript">
ajax_get_json();
</script>
</body>
</html>

它从存储在同一目录中的名为 game.json 的文件中提取数据。

{
"level_001":
{
"id":001,
"title":"Level 1",
"difficulty":0,
"comments":"this is how you complete level 1"
},
"level_002":
{
"id":002,
"title":"Level 2",
"difficulty":0,
"comments":"this is how you complete level 2"
}
}

问题在于 results.innerHTML = ""; 行永远不会到达。为什么?

浏览器中没有错误,我在 Firefox 和 Safari 上检查过这一点。

最佳答案

根据jsonlint.com由于以下属性,您的 JSON 无效:

"id":001
...
"id":002

您需要删除前导零:

"id":1

或将数字设为字符串:

"id":"001"

有关更多详细信息,请参阅 json.org 中列出的格式规则。

大概您提到的行永远不会到达,因为 JSON.parse() 给出了有关上述内容的错误。 (您在浏览器控制台中没有看到错误吗?)

关于javascript - 这段 HTML、JavaScript 和 JSON 代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20265798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com