首页 > Web开发 > 详细

ajax封装

时间:2019-11-28 18:50:44      阅读:96      评论:0      收藏:0      [点我收藏+]
function ajax(method,url,data) {

    return new Promise((resolve,reject)=> {

        let xhr = null; 

        try {
            xhr = new XMLHttpRequest();
        }catch(e) {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }

        // get post 
        if(method === ‘get‘ && data) {
            url += ‘?‘ + data;
        }


        xhr.open(method,url,true);

        if(method === ‘get‘) {
            xhr.send();
        }else {
            xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xhr.send(data);
        }


        xhr.onreadystatechange = function() {
            if(xhr.readyState == 4) {
                if(xhr.status == 200) {
                    resolve(xhr.responseText)
                }else {
                    reject(xhr.status)
                }
            }
        }
    })

}

用法

ajax(‘get‘,‘01.php‘,`num=${json}`).then((data)=>{
  console.log(data)
})
 
或者使用
async  await
1 async function getData() {
2         
3         let data = await ajax(‘get‘,‘data.php‘,`参数`);
4 
5         console.log(data)
6            
7         }
8 
9     }

 

ajax封装

原文:https://www.cnblogs.com/huang-gua123/p/11951491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!