pormise封装ajax(简单封装)

先创建一个js文件然后开始封装ajax:

function ajax(url,mehtod='get',data){
    return new Promise((resolve,reject)=>{
        // 创建ajax对象
    //兼容问题
            if(window.XMLHttpRequest){
                var xhr = new XMLHttpRequest()
            }else{
                // 兼容IE低版本
                var xhr = new ActiveXObject('microsoft.XMLHttp')
            }
        // open 
  //这里判断一下请求的方式
            if(mehtod==='GET'){
                xhr.open(mehtod,url)
            }
            if(mehtod==='POST'){
                xhr.setRequestHeader('content-type','application/x-from-www-urlencdoed')
                xhr.open(mehtod,url)
            }
        // send
            xhr.send(null);

        // 监听请求,状态处理
            
            xhr.onreadystatechange=function(){
                if(xhr.readyState===4){
                    if(xhr.status===200){
                        // 成功返回
                        resolve(JSON.parse(xhr.responseText))
                    }else{
                        // 失败
                        reject(alert('请求失败'))
                    }
                }
            }
    })
}
 
然后在html页面开始引入这个js文件 引入完后请求ajax就行:
  //这里的是请求的URL地址
    let url = 'xxx'
    ajax(url,'GET').then(res=>{
        console.log('获取数据:',res)
    })
 
posted @ 2020-05-12 11:24  Akby  阅读(310)  评论(0编辑  收藏  举报