博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工作笔记-javascript-网络层封装
阅读量:5149 次
发布时间:2019-06-13

本文共 3718 字,大约阅读时间需要 12 分钟。

/*** @Author Mona* @Date 2016-12-08* @description 网络层封装*//** * 封装基本请求方式 */window.BaseRequest = (function () {    //发送请求的所有方式    var request = {};    /**     * 基本请求     */    function baseRequestFunc(type,param,url,async,contentType,dataType,processData,opt_suc,paramType,opt_error) {        var cur_url = contextPath+url;        var now_url = '';        //当把参数作为路由的一部分时此时的参数为字符串;        (paramType&&paramType=='url')?(now_url=cur_url+'/'+param+'.json'):(now_url=cur_url+'.json');        //这个里面是最基本的ajax        $.ajax({            type:type,            data:param,            url:now_url,            async:async,//默认为true            contentType:contentType,//默认为application/x-www-form-urlencoded            dataType:dataType,//默认为预期服务器返回的数据类型            processData:processData,//默认为true            success:function(data,textStatus,jqXHR){                if($.isFunction(opt_suc)){                    opt_suc(data,textStatus,jqXHR);                }            },            error:function(jqXHR,textStatus,errorThrown){                renderErrorMsg(jqXHR,textStatus,errorThrown);                if($.isFunction()){                    opt_error();                }            }        })    }    /**     * get异步请求方式     */    request.get = function (param,url,callback,paramType) {        baseRequestFunc('get',param,url,true,'application/x-www-form-urlencoded','json',true,callback,paramType);    }    /**     * get同步请求方式     * param {param} object      */    request.sync_get = function (param,url,callback,paramType) {        baseRequestFunc('get',param,url,false,'application/x-www-form-urlencoded','json',true,callback,paramType);    }    /**     * post异步请求方式     * param {param} object      */    request.post = function (param,url,callback,paramType) {        baseRequestFunc('post',param,url,true,'application/json','json',true,callback,paramType);    }    /**     * post的requestBean请求方式 这种请求方式适用于字段较多,且需要formdata方式上传文件     * param {param} object  {param.files} array {param.fileNames} array {param.inputData} object     */    request.post_multipart_form_data = function (param,url,callback,paramType,formData,opt_error) {        var form_data = new FormData();        if(param.files && param.files.length>0){           $.each(param.files,function(k,info_name){                form_data.append('files',document.getElementById(info_name).files[0])            })         }        if(param.fileNames && param.fileNames.length>0){            $.each(param.fileNames,function(i,item){                form_data.append('fileNames',item);            })        }        if(formData && formData=='formdata'){            $.each(param.inputData,function(i,item){                form_data.append(i,item);            })        }else{           form_data.append('requestBean', new Blob([JSON.stringify(param.inputData)], {                type: "application/json"            }));         }           baseRequestFunc('post',form_data,url,true,false,'json',false,callback,paramType,opt_error);    }    /**     * post的formdata请求方式     * param {param} object     */    request.post_form_data = function(param,url,callback,paramType,opt_error){        var form_data = new FormData();        $.each(param,function(i,item){            form_data.append(i,item);        })        baseRequestFunc('post',form_data,url,true,false,'json',false,callback,opt_error);    }    /**     * post的JSON.stringify(param)请求方式     * param {param} object     */     request.post_string_data = function(param,url,callback,paramType){        var cur_data = JSON.stringify(param);        baseRequestFunc('post',cur_data,url,true,'application/json','json',false,callback);     }    return request;})();

  

转载于:https://www.cnblogs.com/MonaSong/p/6281589.html

你可能感兴趣的文章
wow 各职业体验(pvp)
查看>>
字符串的操作
查看>>
性能优化之Java(Android)代码优化
查看>>
盒子游戏
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
web页面实现指定区域打印功能
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>
Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll
查看>>