源生js封装ajax

封装源生ajax代码:
   var data = {type: "get",url:"",data:null,async:true,success:null,error:null};
   function ajax(data){
//     第一步:创建XMLHttpRequest对象
       var xhr = null;
       if(window.XMLHttpRequest){  // 标准浏览器
           xhr = new XMLHttpRequest();
       }
       else{  // 早期的IE浏览器
           xhr = new ActiveXObject("Microsoft.XMLHTTP");
       }
//     定义一些参数
       var type = data.type == "get" ? "get" : "post";
       var async = data.type ? true : false;
//     第二步:准备发送请求,配置发送请求的一些行为
       xhr.open(type,data.url,async);
//     第三步:执行发送的动作,如果是post,要设置请求头
       if(type === "post"){
           xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
       }
       xhr.send(data.data);
//     第四步:指定一些回调函数
       xhr.onreadystatechange = function(){
//           xhr.readyState返回值:0   XMLHttpRequest 对象创建完成
//                                 1   初始化完成open,表示发送请求的动作准备好了,但是还没有开始发送
//                                 2   发送请求end,表示已经发送完成
//                                 3   服务器已经返回数据了,正在接收数据
//                                 4   接收数据完成
           if(xhr.readyState == 4){
               if(xhr.status == 200){
                   if(typeof data.success == "function"){
//                       调用回调函数,传入服务器返回的结果
                       data.success(xhr.responseText);
                   }
                   else if(typeof data.error == "function"){
                       data.error();
                   }
               }
           }
       }
//     调用
       ajax(data);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值