为了账号安全,请及时绑定邮箱和手机立即绑定

ajax执行问题

ajax异步的问题,为什么onreadystatechange要写在xmlhttp.send()的前面?越详细越好


正在回答

2 回答

习惯而已,也可以放后面

0 回复 有任何疑惑可以回复我~

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;			
    }
}
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Ajax全接触
  • 参与学习       224850    人
  • 解答问题       663    个

本课程通过一个案例,讲解Ajax的相关概念原理实现方式和应用

进入课程

ajax执行问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信