美文网首页
js 常用工具方法汇总

js 常用工具方法汇总

作者: super静_jingjing | 来源:发表于2018-05-23 18:28 被阅读0次

    此贴记录所有我自己封装的一些项目中常用的工具方法,欢迎各种指导+补充。互相学习啦!
    Ajax请求:

    xAjax.request = function(options){
        if(!options || typeof options != "object"){
            return false;
        }
        //请求类型,不传,默认get
        var type = options.type || "get";
        //请求地址
        var url = options.url || location.pathname;
        //异步or同步
        var async = (options.async === false) ?false:true;
        //请求内容的格式
        var contentType = options.contentType || "type/html";
        //数据
        var data = options.data || {};
        var dataStr = "";
        for(var key in data){
            dataStr += key+"="+data[key]+"&";
        }
        //将最后一个&截取掉
        dataStr = dataStr && dataStr.slice(0,-1);
    
        //ajax
        var xhr = new XMLHttpRequest();
        xhr.open(type,(type=="get"?url+"?"+dataStr:url),async);
        //请求头
        if(type == 'post'){
            if(contentType == "json"){
                xhr.setRequestHeader('Content-Type','application/json');
            }else{
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            }
        }
        xhr.setRequestHeader('Client-Type','I');
        //请求主体
        xhr.send(type=="get"?null:contentType=="json"?JSON.stringify(data):dataStr);
        //监听响应状态的改变
        xhr.onreadystatechange = function(){
            var result = "";
            var contentType = xhr.getResponseheader('Content-Type');
            if(xhr.readyState ==4 && (xhr.status == 200 || xhr.status == 201)){
                //如果服务器返回的是xml
                if(contentType.indexOf("xml")>-1){
                    result = xhr.responseXML;
                }
                //如果服务器返回的是json
                else if(contentType.indexOf("json")>-1){
                    result = JSON.parse(xhr.responseText);
                }else{
                    result = xhr.responseText;
                }
                //成功回调
                options.success && options.success(result);
            }
            //请求不成功,也需要响应完成才作为一个错误的请求
            else if(xhr.readyState == 4){
                //如果服务器返回的是xml
                if(contentType.indexOf("xml")>-1){
                    result = xhr.responseXML;
                }
                //如果服务器返回的是json
                else if(contentType.indexOf("json")>-1){
                    result = JSON.parse(xhr.responseText);
                }else{
                    result = xhr.responseText;
                }
                //error回调
                options.error&& options.error(result);
                if(xhr.status == 401 || (xhr.status == 403){
                    options.authorize && options.authorize();
                }
            }
        }
    }
    
    xAjax.post = function(options){
        options.type = "post";
        xAjax.request(options);
    }
    xAjax.get = function(options){
        options.type = "get";
        xAjax.request(options);
    }
    

    调用的话就这样写;我觉得还挺方便的

    xAjax.post({
        url:"xxxx",
        data:{"name":xj},
        success:function(result){
            //请求成功的操作
        },
        error:function(error){
            //请求失败的操作
        }
    });
    

    判断是否为空:

    xCheckEmpty = function(obj){
        if(obj == null || obj == undefined || obj == ""){
            return true;
        }
        return false;
    }
    xCheckNotEmpty = function(obj){
        if(xCheckEmpty(obj)){
            return false;
        }
        return true;
    }
    

    还没有整理完,待补充。

    相关文章

      网友评论

          本文标题:js 常用工具方法汇总

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