zoukankan      html  css  js  c++  java
  • 工作笔记-javascript-网络层封装

    /**
    * @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;
    })();
    

      

  • 相关阅读:
    SharePoint Framework (SPFx) 开发入门教程
    SharePoint 2013 Designer 入门教程
    SharePoint 2013 开发教程
    SharePoint 2013 入门教程
    SharePoint Online 部署SPFx Web部件
    SharePoint Online SPFx Web部件绑定数据
    SharePoint Online 创建SPFx客户端Web部件
    SharePoint Online 配置框架(SPFx)开发环境
    SharePoint Online 创建应用程序目录
    SharePoint Online 启用 IRM
  • 原文地址:https://www.cnblogs.com/MonaSong/p/6281589.html
Copyright © 2011-2022 走看看