这个HTML、JavaScript和JSON代码有什么问题
What is wrong with this HTML, JavaScript and JSON code?
我在一个名为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代码吗
- 我不知道为什么我的代码是错误的?又有什么错
- 这个代码在网页中的作用和要求是什么
- 什么'这个javascript代码getElementById有问题
- 问号在这段代码中是什么意思
- 什么'这是谷歌分析跟踪代码使用的技术
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 此nodeValue替换代码有什么问题
- 什么正在取代我的'以及“;javascript代码中使用&#39;和&”;
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 这个代码出了什么问题?(Jquery)
- 什么'这个javascript代码有错吗?(已关闭)
- 控制台中的“function floor(){[本机代码]}”是什么
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 这个代码是什么意思(history.replaceState和history.pushstate)
- 什么'这是一个神奇的javascript代码,用于以及如何创建它
- 这段代码的含义是什么<%=一些可变的%>
- 有人能解释一下evaluate()和dragAndDrop()在下面的角度测试代码中调用了什么吗
- 为什么这个 JQuery 代码什么都不返回