亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

原生js 封裝get ,post, delete 請求的實(shí)例

 更新時(shí)間:2017年08月11日 08:19:03   投稿:jingxian  
下面小編就為大家?guī)硪黄鷍s 封裝get ,post, delete 請求的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

現(xiàn)在的項(xiàng)目中都在用VUE 以及react 等MVC, MVVM  框架。 丟棄了原始的JQ 。不可能為了個(gè)$.ajax();而把JQ引進(jìn)來吧。

在vue1的開發(fā)中 提供了 vueResouce, vue2 出來后明確提出了不在更新vueResouce 而提供axios 的方法。

在react 的開發(fā)中提供fetch 封裝的方法。等等。但在工作與后臺的交互中基本都是form表單的形式。于是自己封裝了個(gè)

POST,GET,DELETE 的請求方式。當(dāng)然根據(jù)不同的公司,不同的方式。都可以自己擴(kuò)展。目前這個(gè)只是針對自己所在公司而已。

function api(url,opt,methods) {
      return new Promise(function(resove,reject){
        methods = methods || 'POST';
        var xmlHttp = null;
        if (XMLHttpRequest) {
          xmlHttp = new XMLHttpRequest();
        } else {
          xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        };
        var params = [];
        for (var key in opt){
          if(!!opt[key] || opt[key] === 0){
            params.push(key + '=' + opt[key]);
          }
        };
        var postData = params.join('&');
        if (methods.toUpperCase() === 'POST') {
          xmlHttp.open('POST', url, true);
          xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
          xmlHttp.send(postData);
        }else if (methods.toUpperCase() === 'GET') {
          xmlHttp.open('GET', url + '?' + postData, true);
          xmlHttp.send(null);
        }else if(methods.toUpperCase() === 'DELETE'){
          xmlHttp.open('DELETE', url + '?' + postData, true);
          xmlHttp.send(null);
        }
        xmlHttp.onreadystatechange = function () {
          if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            resove(JSON.parse(xmlHttp.responseText));
          }
        };
      });
    }
    export default api;

以上這篇原生js 封裝get ,post, delete 請求的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論