美文网首页JS
js http请求封装

js http请求封装

作者: AstarX | 来源:发表于2018-07-19 20:25 被阅读0次
    function ajax(opt) {
                 opt = opt || {};
                 opt.method = opt.method.toUpperCase() || 'POST';
                 opt.url = opt.url || '';
                 opt.async = opt.async || true;
                 opt.data = opt.data || null;
                 opt.success = opt.success || function () {};
                 var xmlHttp = null;
                 if (XMLHttpRequest) {
                     xmlHttp = new XMLHttpRequest();
                }
                 else {
                     xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
                 }var params = [];
                 for (var key in opt.data){
                     params.push(key + '=' + opt.data[key]);
                 }
                 var postData = params.join('&');
                 if (opt.method.toUpperCase() === 'POST') {
                     xmlHttp.open(opt.method, opt.url, opt.async);
                     xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
                     xmlHttp.send(postData);
                 }
                 else if (opt.method.toUpperCase() === 'GET') {
                     xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async);
                     xmlHttp.send(null);
                 } 
                 xmlHttp.onreadystatechange = function () {
                     if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                         opt.success(xmlHttp.responseText);
                     }
                 };
            }
    
    //调用
    ajax({
                 method: 'GET',
                 url: 'https://www.cnblogs.com/a757956132/p/5603176.html',
                 data: {
                     name1: 'value1',
                     name2: 'value2'
                 },
                 success: function (response) {
                    console.log(response);
                 }
            }); 
    //      ajax({
    //           method: 'POST',
    //           url: 'test.php',
    //           data: {
    //               name1: 'value1',
    //               name2: 'value2'
    //           },
    //           success: function (response) {
    //              console.log(response);
    //           }
    //      }); 
    
    

    相关文章

      网友评论

        本文标题:js http请求封装

        本文链接:https://www.haomeiwen.com/subject/lllxmftx.html