<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
</head>
<body>
<div id="div1">dv1</div>
<div id="div2">dv2</div>
<script type="text/javascript">
function getData(){
$.ajax({
type:"GET",
url:"j.json",
dataType:"json",
success: function(jsondata){
output(jsondata);
}
});
}
function output(json){
//var Data = eval('(' + json + ')');
var html = '';
//alert(Data.length);
for(var i=0;i<json.length;i++){
html += ' name:' + json[i].name + ' age:' + json[i].age;
}
document.getElementById('div1').innerHTML = html;
document.getElementById('div2').innerHTML = json[0].name;
}
setTimeout(getData, 3000);
</script>
</body>
</html>
j.json文件是
[{"name":"aaa","age":18},{"name":"bbb","age":19}]
上述代码的目的是使用本地json文件中的数据更新div内容。我在IE&amp; Chrome,但都没有用。我已经google了很多但仍然无法弄清楚。
任何人都有任何提示?提前谢谢。
答案 0 :(得分:3)
您使用网络服务器吗?
AJAX调用对于以file://
开头的URL无效。这是因为为帮助处理跨站点脚本(XSS)而制定的相同来源要求。有关详细信息,请参阅here。
正如我注意到的,您应该使用$(document).ready(function(){ your code })
代替setTimeout(getData, 3000);