minbaowang / SSeffects

some small effects in my code's history
1 stars 0 forks source link

关于原生js进行ajax请求那些事 #5

Open minbaowang opened 5 years ago

minbaowang commented 5 years ago

ajax核心步骤

1)创建请求对象: new XMLHttpRequest() 2)配置参数,建立与服务器的连接 open(请求类型,请求地址,是否异步) 3)发送请求 send() 4)在js中处理数据 onreadystatechange

  • 数据存入 responseText属性中

    处理数据时有两种接收方式,一种是readystatechange,另一种是onLoad

//onreadystatechange接收

//判断状态,先预存数组
let statusCode = [200,304];

//第一步,创建一个请求
var xhr=XMLHttpRequest();

//第四步,处理数据
xhr.onreadystatechange=()=>{
//事件会执行四次,最后一次才获取参数
     if(xhr.readyState===4&&statusCode.indexOf(xhr.status)>=0){
               let res=xhr.responseText;
               //进行你要的操作
        }

}

//第二步,配置参数,创建与副武器的连接
//第一个参数是请求类型,第二个参数是请求的API,API上面可以拼接参数
xhr.open('get/post','API');

//第三步,发送请求
xhr.send();

//这是onload

let statusCode = [200,304];
//第一步,创建一个请求
var xhr=XMLHttpRequest();
//第四步
xhr.onload = function(){
if(statusCode.indexOf(xhr.status)>=0){
        //不用判断次数,因为onload是整个页面加载完毕了
    let res = xhr.responseText;
          }
}
//第二步,配置参数,创建与副武器的连接
//第一个参数是请求类型,第二个参数是请求的API,API上面可以拼接参数
xhr.open('get/post','API');

//第三步,发送请求
xhr.send();