- 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
- 设置请求信息
xhr.open(method, url, isAsync);
// 设置请求头
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- 发送响应
xhr.send(body) //get 请求不传 body 参数,只有 post 请求使用
- 接收响应
// 监听 readystate 状态
xhr.onreadystatechange = function(){
/*
* 请求状态 xhr.readyState
* 0 UNSENT ajax对象实例化完成 默认值为0
* 1 OPENED ajax对象执行完open方法 变成1
* 2 HEADERS_RECEIVED 开始接受到响应头
* 3 LOADING 开始接受响应主题 服务器处理请求
* 4 DONE HTTP事务完成
*/
if(xhr.readyState === 4){
/*
* 相应状态(http的状态码) xhr.status
* 200 或者所有以2开头的状态 都表示成功
* 300 301永久重定向 302临时重定向 304缓存
* 400 请求无法理解(传递给服务器的参数出现错误)
* 401 没有权限访问
* 404 找不到资源文件(URL地址错误,或者根本不存在)
* 500 服务器出现错误(服务器内部出现未知错误)
* 503 并发过多,服务器处理不过来
*/
if(xhr.status===200){
}
}
};