ajax执行问题
ajax异步的问题,为什么onreadystatechange要写在xmlhttp.send()的前面?越详细越好
ajax异步的问题,为什么onreadystatechange要写在xmlhttp.send()的前面?越详细越好
2017-08-18
readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。
下面是 readyState 属性可能的值:
状态 描述
0 请求未初始化(在调用 open() 之前)
1 请求已提出(调用 send() 之前)
2 请求已发送(这里通常可以从响应得到内容头部)
3 请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)
4 请求已完成(可以访问服务器响应并使用它)
onreadystatechange写在xmlhttp.send()的前面,是为了判断请求是否成功:
例如:通过 xmlHttp给readyState变化绑定一个监听事件
xmlHttp.onreadystatechange = function(){//xmlHttp的5种状态都会调用本方法 if(request.readyState == 4 && request.status == 200){ //获取服务器的响应内容 var text = xmlHttp.responseText; } }
举报