zoukankan      html  css  js  c++  java
  • 原生ajax 封装

      // -------------------------ajax start-------------------------------
            ajax: function (url, data, type, backfun, errorbackfun, isabs) {
                var reqUrl = "/api/" + url;
                if (isabs) {
                    reqUrl = url;
                }
                if (type.toUpperCase() != "POST") {
                    type = "GET";
                }
                try {
                    if (arguments.length == 3) {
                        //同步提交
                        var result = this.run_ajax_json(reqUrl, data, type);
                        return result;
                    }
                    else if (arguments.length > 3) {
                        //异步提交
                        this.run_ajax_async_json(reqUrl, data, type, backfun, errorbackfun);
                    }
                }
                catch (err) {
                    console.warn(err);
                }
    
            },
            run_ajax_json: function (url, data, type) {
    
                var vlMsg;
                var obpram = data;
                if (data == null || data == "")
                    obpram = {};
                var tokenname = $("meta[name='cfname']").attr("content");
                var tokenvalue = $("meta[name='valuecs']").attr("content");
                $.ajax({
                    url: url,
                    data: obpram,
                    type: type,
                    beforeSend: function(xhr){
                        xhr.setRequestHeader(tokenname, tokenvalue);
                    },
                    contentType: "application/x-www-form-urlencoded;charset=utf-8",
                    dataType: "json",
                    async: false,
                    success: function (result) {
                        vlMsg = result;
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        //console.log("调用ajax发生错误:" + thrownError + " 调用地址:" + url);
                        // xhr.responseJSON.message = xhr.responseJSON.message.replace('Authentication Failed:');
                        if (xhr.responseJSON && xhr.responseJSON.message) {
                            xhr.responseJSON.message = xhr.responseJSON.message.replace('Authentication Failed:','');
                        }
                        vlMsg = xhr.responseJSON;
                    }
                });
                return vlMsg;
            },
            run_ajax_async_json: function (url, data, type, backfun, errorbackfun) {
    
                var obpram = data;
                if (data == null || data == "")
                    obpram = {};
                var tokenname = $("meta[name='cfname']").attr("content");
                var tokenvalue = $("meta[name='valuecs']").attr("content");
                $.ajax({
                    url: url,
                    data: obpram,
                    type: type,
                    beforeSend: function(xhr){
                        xhr.setRequestHeader(tokenname, tokenvalue);
                    },
                    contentType: "application/x-www-form-urlencoded;charset=utf-8",
                    dataType: "json",
                    success: function (result) {
                        if (backfun != null) backfun(result);
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        //console.log("调用ajax发生错误:" + thrownError + " 调用地址:" + url);
                        if (errorbackfun != null && xhr.responseJSON && xhr.responseJSON.message) {
                            xhr.responseJSON.message = xhr.responseJSON.message.replace('Authentication Failed:','');
                        }
                        if (errorbackfun != null) {
                            errorbackfun(xhr.responseJSON);
                        }
                    }
                });
            },
            // -------------------------ajax end-------------------------------

    调用

    this.ajax("url",{},"GET",function(result){


    })
  • 相关阅读:
    Docker swarm集群增加节点和删除节点
    docker 基础
    Mac 下 java环境 maven环境配置
    git 常用命令(含删除文件) git提交本地分支到远程分支
    github添加ssh keys
    Git在mac中和远程仓库建立连接
    初始化Git仓库(Mac环境下)
    Mac系统显示隐藏文件
    Mac:jenkins忘记管理员账号登录密码如何修改管理员账号
    java实现链表的反转
  • 原文地址:https://www.cnblogs.com/chen527/p/11473983.html
Copyright © 2011-2022 走看看