// ajax的兼容处理
// 1.创建ajax对象
// 标准浏览器
// const xhr = new XMLHttpRequest();
// 低版本IE浏览器
// const xhr = new ActiveXObject('Microsoft.XMLHTTP');
// 兼容语法
let xhr;
if(XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
// 定义传参对象url地址
xhr.open();
// 发送请求
xhr.send();
// 接收请求
// 标准浏览器
// xhr.onload = function(){}
// 低版本IE浏览器
// 判断 状态码是否是 200 - 299
// 判断 请求步骤是否已经结束
// 当请求步骤发生改变时,触发函数程序
xhr.onreadystatechange = function(){
// 判断请求步骤数值是 4 表示请求结束
// 判断http的请求状态码 是 200-299 表示请求成功,此时,判断请求成功并且接收响应体内容
// 以 2 开头 之后跟 2位数值 --- 2开始的三位数
// /^2d{2}&/.test(xhr.status)
if( xhr.readyState === 4 && ( xhr.status >= 200 && xhr.status <= 299 ) ){
}
}
// ajax的请求步骤
// 请求步骤 xhr.readyState
// 同步
// 0 --- 创建ajax对象
// 1 --- 设定ajax请求地址和请求方式
// 异步
// 2 --- 发送ajax请求
// 3 --- 接收ajax响应报文,解析响应体中的内容
// 4 --- ajax请求完全结束,并且响应体内容解析完成
//
// http的请求状态码 xhr.status
// 200-299表示成功
// ajax 请求同步异步设定
// ajax请求默认执行的都是异步请求
// 实际项目中 ajax 也必须按照 异步请求执行
// 不要设定为 同步请求
// 如果必须乣执行 同步请求 效果,会使用其他语法形式解决
// 其他语法形式 : ES7 中新增的 async 和 await