一个页面屡次用XMLHttpRequest读取数据
一个页面多次用XMLHttpRequest读取数据
用AJAX给Html页中的div赋值
div是我动态建立的。id="dv"+i
点button之后调用test()为什么没有数据?
如果不用for循环
i分别等于0,1,2,3,4的时候可以读取到5个数据
代码如下:
------解决方案--------------------
闭包没处理好,最后给的是i=4的这个div赋值
function test() {
for (var i = 0; i < 5; i++) {
alert("第" + i + "次");
a[i] = new XMLHttpRequest();
a[i].open("GET", s[i], true);
a[i].send();
a[i].onreadystatechange =( function (i) {
return function(){
if (a[i].readyState == 4 && a[i].status == 200) {
document.getElementById("dv" + i).innerHTML = a[i].responseText;
}
用AJAX给Html页中的div赋值
div是我动态建立的。id="dv"+i
点button之后调用test()为什么没有数据?
如果不用for循环
i分别等于0,1,2,3,4的时候可以读取到5个数据
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="dv0"></div>
<div id="dv1"></div>
<div id="dv2"></div>
<div id="dv3"></div>
<div id="dv4"></div>
<div>
<script>
var s = new Array();
s[0] = "test2.aspx?name=test1";
s[1] = "test2.aspx?name=test2";
s[2] = "test2.aspx?name=test3";
s[3] = "test2.aspx?name=test4";
s[4] = "test2.aspx?name=test5";
var a = new Array();
a[0] = "xmlhttp1";
a[1] = "xmlhttp2";
a[2] = "xmlhttp3";
a[3] = "xmlhttp4";
a[4] = "xmlhttp5";
function test() {
for (var i = 0; i < 5; i++) {
alert("第" + i + "次");
a[i] = new XMLHttpRequest();
a[i].open("GET", s[i], true);
a[i].send();
a[i].onreadystatechange = function () {
if (a[i].readyState == 4 && a[i].status == 200) {
document.getElementById("dv" + i).innerHTML = a[i].responseText;
}
}
}
}
</script>
</div>
<button type="button" onclick="test()"/>
</form>
</body>
</html>
------解决方案--------------------
闭包没处理好,最后给的是i=4的这个div赋值
function test() {
for (var i = 0; i < 5; i++) {
alert("第" + i + "次");
a[i] = new XMLHttpRequest();
a[i].open("GET", s[i], true);
a[i].send();
a[i].onreadystatechange =( function (i) {
return function(){
if (a[i].readyState == 4 && a[i].status == 200) {
document.getElementById("dv" + i).innerHTML = a[i].responseText;
}