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){


    })
  • 相关阅读:
    使用vue-cli初始化vue项目
    easyUI使用datagrid-detailview.js实现二级列表嵌套
    easyUI使用dailog实现弹出框带表单功能
    vue进行文件下载
    TypeError: Cannot read property 'length' of null
    org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'null' to required type 'double' for property 'band'; nested exception is org.springframework.core.convert.Con
    桑叶黑芝麻糊,从头到脚通补
    家庭中成药使用方法一览表
    儿科常见疾病的中成药疗法
    常见病饮食宜忌速查手册
  • 原文地址:https://www.cnblogs.com/chen527/p/11473983.html
Copyright © 2011-2022 走看看