在提出这个问题之前,我已经阅读了很多论坛帖子,我知道我的代码中的问题很简单。我基本上是多次调用XMLHttpRequest,这超出了我之前的请求。但是我似乎无法让它工作,我尝试的一切都给了我相同的结果。
<script>
var data, req, sec;
req = new XMLHttpRequest();
req.open("GET","http://example.com",false);
req.send();
sec = JSON.parse(req.responseText);
for (num = 0; num < 10; num++){
var req = new XMLHttpRequest();
req.open("GET","http://example.com/?n=" + num, true);
req.send();
req.onreadystatechange=function()
{
if (req.readyState==4 && req.status==200)
{
data = JSON.parse(req.responseText);
if (data.type == "heading"){
document.body.innerHTML += "<section><h1>" + data.data + "</h1></section>";
}
if (data.type == "paragraph"){
document.body.innerHTML += "<section><p>" + data.data + "</p></section>";
}
}
}
}
</script>
此代码的输出仅提供http://example.com/?n=9中的文字,并且所有以前的数据都未显示在页面上。
我也遇到了一个奇怪的错误,如果我刷新页面几次,我会从http://example.com/?n=9中获得段落的多个副本,这些副本全部附加在body.innerHTML中。
感谢任何和所有帮助!
-Adrian