AJAX的封装和二次封装

博客探讨了如何通过封装AJAX请求减少代码冗余,提高效率。首先介绍了传统的AJAX请求,然后展示了如何进行第一次封装,模拟jQuery方法。接着讨论了第二次封装,利用Promise将所有请求统一管理,最后提到了使用箭头函数简化流程的第三版封装。提供了一个名为request.js的文件,用于存储所有接口调用方法,并强调ajax.js需在其之前引入。
摘要由CSDN通过智能技术生成

传统的AJAX请求

//get请求
var xhr = new XMLHttpRequest();
xhr.open("get","url"+"?"+data,true);    //get方法将请求的数据以字符串拼接的方式放在地址后面
xhr.send();
xhr.onreadystatechange = function (){
   
	if(xhr.readyState==4&&xhr.status==200){
   
     	 var result = xhr.responseText;    //result请求的数据  
     	 result = JSON.parse(xhr.responseText);  //将请求的数据通过json的方法解析       
    }
}
//post请求
var xhr = new XMLHttpRequest();
xhr.open("get","url",true);    
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//上面这行是发送post请求时所需要的
xhr.send(data);   //post请求将数据放在发送行
xhr.onreadystatechange = function (){
   
	if(xhr.readyState==4&&xhr.status==200){
   
     	 var result = xhr.responseText;    //result请求的数据  
     	 result = JSON.parse(xhr.responseText);  //将请求的数据通过json的方法解析       
    }
}

我们写的页面 大多有很多次请求,如果每次都这样写的话 就会产生大量的代码冗余,所以就会有ajax的封装,方便我们的使用,提升代码运行效率。

ajax的第一次封装

ajax.js
模拟jQuery方法封装

let $ = {
   
    ajax:function(options = {
   }){
       //将请求的数据以对象的形式传进来
        var {
   type = "get",url="",data="",async=true,dataType="text",success}=options;
   		//将数据解析 默认get方法请求 默认异步操作 默认文本类型text success 回调函数
        var xhr = new XMLHttpRequest();
        if(typeof data == "object"){
      
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值