readyState就是不等于4???

jxb_memory 2010-03-03 01:45:50
<script language="javascript">
//创建XMLHttpRequest对象
var request = false;
try
{
request = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
request = false;
}
}
}
if (!request)
{
alert("Error initializing XMLHttpRequest!");
}
//获取信息
function getInfo()
{
var url = "http://192.168.1.52:7777/rtdrpt001_data" + Math.random();
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
setTimeout("getInfo()", 2000);
}
//更新页面
function updatePage()
{
alert(request.readyState);
if (request.readyState == 4)
{
if (request.status == 200)
{
var response = request.responseText;
arr = response.split("\n");
for(i = 0; i < arr.length; i++)
{
//eval(arr[i]);
temp = arr[i].split(":");
//alert(temp[0]);
//alert(temp[1]);
try
{
document.getElementById(""+temp[0]).innerHTML= temp[1];
}
catch(failed)
{
//alert(temp[0]);
}
}
//alert(arr[0]);
//eval(arr[0]);
//alert(response);
//ttt = "FT11310"
//document.getElementById(ttt).innerHTML=" 435.0";
}
else if(request.status == 404)
{
alert ("Requested URL is not found.");
}
else if (request.status == 403)
{
alert("Access denied.");
}
else
{
}
//request.onreadystatechange = null;
}
// else
// {
// alert("status is " + request.status);
// }
}

</script>
我的代码在updatePage中响应时alert(request.readyState);的结果始终为1、2、3,就是不等于4,可是我调试服务器时已经跟踪到我需要的数据确实已经发出来了,怎么回事?
...全文
402 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyxiao1987 2010-03-06
  • 打赏
  • 举报
回复
引用 4 楼 jxb_memory 的回复:
引用 1 楼 flyxiao1987 的回复:你的url地址不对 你用Math.random()随机出来的是小数
我看网上很多人都是随机的小数啊?

但是你确定你随机出来的的url地址正确吗
jxb_memory 2010-03-03
  • 打赏
  • 举报
回复
引用 3 楼 xiaofanku 的回复:
哪你的响应头状态是什么?

不好意思刚刚学什么是“响应头状态”???
指示服务器回复的数据头吗?如下:
"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: %d\r\n\r\n%s"
jxb_memory 2010-03-03
  • 打赏
  • 举报
回复
引用 2 楼 zl_system 的回复:
setTimeout("getInfo()", 2000);

我想是这个的关系。不断的重复getInfo()了。所有已知得不到4

我把setTimeout注释了还是一样?
jxb_memory 2010-03-03
  • 打赏
  • 举报
回复
引用 1 楼 flyxiao1987 的回复:
你的url地址不对 你用Math.random()随机出来的是小数

我看网上很多人都是随机的小数啊?
街头小贩 2010-03-03
  • 打赏
  • 举报
回复
哪你的响应头状态是什么?
行间 2010-03-03
  • 打赏
  • 举报
回复
setTimeout("getInfo()", 2000);

我想是这个的关系。不断的重复getInfo()了。所有已知得不到4
flyxiao1987 2010-03-03
  • 打赏
  • 举报
回复
你的url地址不对 你用Math.random()随机出来的是小数

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧