我已经收到了很多关于Stack Overflow的很好的指导,特别是关于我在最近的一个web应用程序中加入异步处理的无力尝试。为了将一些问题缩小到最小程度,我创建了一个非常小的HTML/javascript页面来使用getJSON并查看jfriend00提到的一些行为。据我所知,这是一个合法的程序,但尽管IE9运行它,FireFox会发出一些文本,然后挂起/无限循环/诸如此类,而Chrome只显示H1 (FireFox拒绝这样做)和最后一个字符串。显然,这段代码有一些可怕的错误,我没有看到它。你呢?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
</head>
<body>
<h1>testing 2</h1>
<script type="text/javascript">
function buildTree() {
$.getJSON('MurakiMaida.json', function(data) {
document.write("how about here?<br>");
$.each(data.person, function(i, xdata) {
document.write(xdata.id + "<br>");
});
});
document.write("<br>what are we doing here?");
}
buildTree();
</script>
</body>
</html>发布于 2011-12-07 06:28:50
document.write可能是罪魁祸首。
我不明白你到底想做什么,但是document.write应该只在页面加载时使用。实际上,最好不要使用它。*
创建<div id='foo'/>并向其写入数据,如$('#foo').append($("<div>"+xdata.id+"</div>")
在DOM出现之前,document.write是使用Javascript向文档添加超文本标记语言的方式。它仍然存在是为了向后兼容,但应该避免。
https://stackoverflow.com/questions/8407716
复制相似问题