!(function() {
    var timeout = 16000;
    //设置ajax请求的setting配置----start
    jQuery.support.cors = true;
    $.extend($.ajaxSettings, {
        cache: true,
        timeout: timeout, //毫秒
        dataType: "json",
        type: "POST",
        xhrFields: {
            withCredentials: true
        },
        crossDomain: !0
        //      contentType: "application/x-www-form-urlencoded;charset=UTF-8"
    });
    //设置ajax请求的setting配置----end
    /**
     * 判断是否是低于制定版本的ie
     */
    window.IsLetIe = function() {
        var ua = navigator.userAgent;
        return ua.indexOf("MSIE 6") > 0 || ua.indexOf("MSIE 7") > 0 || ua.indexOf("MSIE 8") > 0 || ua.indexOf("MSIE 9") > 0;
    }
    /**
     * ajax封装 默认get
     * @param {String} url 地址
     * @param {JSON} data 数据
     * @param {String} type 数据
     * @param {Function} okFn 成功回调
     * @param {Function} failFn 失败回调
     * @param {Function} errFn 错误回调
     * @param {Function} cmpFn 完成回调
     */
    window.Ajax = function(url, data, type, okFn, failFn, errFn, cmpFn) {
        type = type ? type : 'GET';
        //ie9以下 传json string 在IE6,7,8,9下 传json后端获取不到 只能在body中读取流
        var contentType = 'application/x-www-form-urlencoded;charset=UTF-8';
        if(window.IsLetIe()) {
            data = JSON.stringify(data);
            contentType = 'text/plain';
        }
        $.ajax({
            url: url,
            type: type,
            asysc: true,
            data: data,
            contentType: contentType,
            beforeSend: function(request) {},
            success: function(response) {
                if(response.responseCode == '001') {
                    typeof okFn == 'function' && okFn(response);
                } else {
                    typeof failFn == 'function' && failFn(response);
                }
            },
            error: function(xhr, msg, err) {
                //alert('xhr-->' + JSON.stringify(xhr))
                //alert('msg-->' + msg)
                //alert('err-->' + JSON.stringify(err))
                if(typeof errFn == "function" && errFn) {
                    errFn(xhr);
                } else {
                    alert('请求失败,请稍后重试');
                }
            },
            complete: function(response) {
                typeof cmpFn == "function" && cmpFn();
            }
        });
    }
    /**
     * post请求
     * @param {String} url 地址
     * @param {JSON} data 数据
     * @param {Function} okFn 成功回调
     * @param {Function} failFn 失败回调
     * @param {Function} errFn 错误回调
     * @param {Function} cmpFn 完成回调
     */
    window.AjaxPost = function(url, data, okFn, failFn, errFn, cmpFn) {
        Ajax(url, data, 'POST', okFn, failFn, errFn, cmpFn);
    }
    /**
     * get请求
     * @param {String} url 地址
     * @param {JSON} data 数据
     * @param {Function} okFn 成功回调
     * @param {Function} failFn 失败回调
     * @param {Function} errFn 错误回调
     * @param {Function} cmpFn 完成回调
     */
    window.AjaxGet = function(url, data, okFn, failFn, errFn, cmpFn) {
        Ajax(url, data, 'GET', okFn, failFn, errFn, cmpFn);
    }
    var _app = {
        config: {
            environment: 'prod' //当前接口环境
        },
        domain: {
            qirong: {
                prod: baseURL + '/'
            }
        },
        source: {
            inter: {
                getInterInfo: 'into/getInterInfo.do'
            }
        },
        api: {
            getInterInfo: function(inputData, okFn, failFn, errFn, cmpFn) {
                AjaxPost(_app.source.inter.getInterInfo, inputData, okFn, failFn, errFn, cmpFn);
            }
        },
        init: function() {
            //加载接口
            this.load();
            window.Api = _app.api;
        },
        load: function() {
            //遍历source 获取所有类型名称 inner,ocrweb....
            for(var type in this.source) {
                //遍历source[type]当前的类型下的接口地址 例source.inner.creatImg
                for(var item in this.source[type]) {
                    //将当前项的地址拼根据当前接口环境拼接上主域名
                    this.source[type][item] = [this.domain[type][this.config.environment], this.source[type][item]].join('');
                }
            }
        }
    }
    _app.init();
})();

对于低版本IE,ajax的设置处理的更多相关文章

  1. Material Designer的低版本兼容实现(二)—— Theme

    Theme material主题可以定义为如下形式: @android:style/Theme.Material @android:style/Theme.Material.Light @androi ...

  2. 如何让低版本IE浏览器支持HTML5标签并为其设置样式

    现代的浏览器都支持HTML5,HTML5定义了 8 个新的 HTML 语义元素.所有这些元素都是 块级 元素. 为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 ...

  3. C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。

    报错信息: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1045 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标.请将 .NET Core 2.1 或 ...

  4. Flash设置(各种版本浏览器包括低版本IE)

    涉及到的各种版本flash百度下都能下到的,不再说明. Flash的安装比较麻烦,涉及多种浏览器.多种操作系统支持,安装.设置的地方比较多,以下说明基本涉及大部分安装过程中可能遇到的问题,如果安装或视 ...

  5. 低版本系统兼容的ActionBar(一)设置颜色+添加Menu+添加ActionMode

        之前我一直用ActionBarSherlock这个开源项目来做ActionBar,因为它可以让低版本的设备也能用上ActionBar.但是在最新的SDK中Google提供了一个AppCompa ...

  6. 安卓 API 19 低版本设置自带的圆圈效果

    在 Android API 19 环境下,RadioButton 消除或者自定义自带的圆圈效果的形式来设置: 自定义自身选择图标 android:button="@drawable/sele ...

  7. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...

  8. 解决opacity属性在低版本IE浏览器下失效的方法

    以前,一直都以为ie9以下的版本不支持opacity属性.所以就同时使用 opacity和ie独特的filter蒙版.但是有些时候需要一些动态的效果,就比如层的渐渐消失,隐藏,就需要使用动态变化的op ...

  9. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)   Django基础七之 ...

  10. android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形scale动画

    ViewAnimationUtils.createCircularReveal()的简介: ViewAnimationUtils.createCircularReveal()是安卓5.0才引入的,快速 ...

随机推荐

  1. redis 过期时间与缓存

    设置过期时间 redis对于存储的键值可以设置过期时间,对于过期了的键值,redis会自动删除. > OK > get price " > expire price (in ...

  2. zepto引用touch模块后,click失效

    近日,有个拼图小活动,引用了zepto,以及zepto的touch模块. 在拼图结束之后,进行抽奖的活动,该抽奖结果是以弹框展示. 这里的关闭按钮需要添加点击事件: $(document.body). ...

  3. 字符串截取函数slice, substring, substr

    在日常项目需求中,常常会遇到需要截取字符串操作的工作,而ECMAScript为我们提供了原生的截取字符串的函数,而且提供了三个:slice, substring, substr.我们怎么判断在什么时候 ...

  4. 最好的ie版本检测方式

    预备知识:NodeList的实时性 通过 document.getElementsByTagName,document.forms ,document.images  等方法获取到nodelist以后 ...

  5. 《算法》第四章部分程序 part 18

    ▶ 书中第四章部分程序,包括在加上自己补充的代码,在有权有向图中寻找环,Bellman - Ford 算法求最短路径,套汇算法 ● 在有权有向图中寻找环 package package01; impo ...

  6. curd——5

    curd——5 SELECT area_id  FROM 16tree.ts_area  where pid=0; <?php //1可以防止注入$db = Yii::app()->db; ...

  7. python的字符串分片

    s = "abcdefg" 对于这样一个字符串进行操作.分片格式为: s[i:j:k] 其中,i和j分别代表子串的起始和末尾:-1则代表倒数第一个元素,同理-2代表倒数第二个元素. ...

  8. leetcode988

    public class Solution { private Stack<string> ST = new Stack<string>(); private string S ...

  9. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

    服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export ...

  10. JS中Float类型加减乘除

    //浮点数加法运算 function FloatAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1]. ...