XMLHttpRequest
使用XMLHttpRequest实现一个Ajax(Asynchronous JavaScript And XML)
第一步:获取实例
可以不考虑兼容写法。
第二步:初始化请求
async默认为true,Ajax存在的意义就是发异步请求,所以第三个参数可以默认不传。
第三步:发送参数
特别注意的是: 如果发送POST
请求,请使用setRequestHeader()
来添加 HTTP
请求头,并在send()
方法中传递要发送的数据:java
第四步:处理返回结果
使用onreadystatechange
事件监听状态变化
其中的关键逻辑点:
使用
xhr.readyState
判断请求状态,状态值含义:0
: 表示请求未初始化,还没有调用open()
1
: 服务器连接已建立,但是还没有调用send()
2
: 请求已接收,正在处理中(通常现在可以从响应中获取内容头)3
: 请求处理中,通常响应中已有部分数据可用了,没有全部完成4
:请求已完成;此阶段确认全部数据都已经解析完毕,可以通过异步对象的属性获取对应数据
使用
xhr.state
判断http状态使用
xhr.response
作为请求结果返回
简约版
参考:
Last updated