readyState状态值始终为1的解决办法

来源:互联网 发布:array_push 二元数组 编辑:程序博客网 时间:2024/06/05 23:54
 

最近在研究ajax技术的过程中遇到了一个奇怪的问题:req.readyState的值是始终为1,很纳闷,后来在网上查了下资料,就是在调用函数的时候不能带任何参数,使用()都不行。以下是找到的一篇关于此问题的解读文章!

 

readyState状态值始终为1的解决办法

2009-09-23 21:04

今天做Ajax的时候遇到个奇怪的问题,无法异步获得服务器端发送的数据,通过跟踪程序,发现readyState状态值始终为1,即请求已经建立但还没有发出(调用send()之前),最初以为是Ajax的跨域问题,导致连接不能发送,把url改为本地的,测试后仍然不能运行。
网上搜了搜资料,有篇文章提到当onreadystatechange后面跟的回调函数名带有参数的时候readyState状态值会一直停留在1,甚至onreadystatechange=updatepage()这样带有两个括号的写法都会导致这个错误,具体原因还没查明,只有想办法改变回调函数的写法,避免传递参数,终于测试通过,这个问题还真是莫名其妙。
附上readyState状态值意义:

  • 0:请求没有发出(在调用 open() 之前)。
  • 1:请求已经建立但还没有发出(调用 send() 之前)。
  • 2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
  • 3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
  • 4:响应已完成,可以访问服务器响应并使用它。

 

 

原文转载地址 http://hi.baidu.com/zbl110119/blog/item/52c06d3546e922315ab5f50c.html

原创粉丝点击