我需要加载我的data.json文件并在我的html屏幕上打印"的名称和年龄。如何加载我的data.json文件?我不想使用jquery。感谢
的index.html
<html>
<head>
<head>
<body>
<script>
var obj = JSON.parse(a);
for (i in obj.types) {
x+= "<h2>"+obj.types[i].name+"</h2>";
x+= obj.types[i].age + "<br>";
}
document.getElementById("demo").innerHTML = x;
</script>
</body>
输出应该是这样的:
A1
30
A2
20
我的json文件
{
"a": [
{
"name": "a1",
"age": 30,
"models": [
"a",
"b",
"c"
]
},
{
"name": "a2",
age": 20,
"models": [
"a",
"b"
]
}
],
"b": [
{
"Number": "001",
"Name": "b1",
}
]
}
答案 0 :(得分:1)
var xhr = new XMLHttpRequest();
xhr.open("POST", "./data.json", true);
xhr.onload = function (){
obj = JSON.parse(this.responseText);
var x = "";
obj.a.forEach(function(e){
x += "<h2>"+e.name+"</h2>";
x += "<span>"+e.age+"</span>";
})
document.getElementById("demo").innerHTML = x;
}
xhr.send();
向./data.json
json文件发出ajax请求并解析它。
OR
只需将数据添加到代码本身即可。
var obj = {
"a": [
{
"name": "a1",
"age": 30,
"models": [
"a",
"b",
"c"
]
},
{
"name": "a2",
"age": 20,
"models": [
"a",
"b"
]
}
],
"b": [
{
"Number": "001",
"Name": "b1",
}
]
};
var x = "";
obj.a.forEach(function(e){
x += "<h2>"+e.name+"</h2>";
x += "<span>"+e.age+"</span>";
})
document.getElementById("demo").innerHTML = x;
&#13;
<div id="demo">
</div>
&#13;
答案 1 :(得分:0)
您无法将文件从本地加载到浏览器。您需要为文件json创建服务(例如:http://localhost:8080/data.json)然后您请求它