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


    })
  • 相关阅读:
    查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 从SC表中选取score小于60的,并group by sid,having count 大于1
    SQL经典实例书上的数据代码
    mysql练习题
    mysql中alter语句
    如何解决SSH登录Solaris主机速度慢的问题
    Solaris10安装配置LDAP(iPlanet Directory Server )
    Oracle 11g oracle 用户密码过期问题 (ZT)
    Changing Controller Numbers in Solaris
    SPARC T4 RAID Setup (ZT)
    Oracle11g 配置DG broker
  • 原文地址:https://www.cnblogs.com/chen527/p/11473983.html
Copyright © 2011-2022 走看看