!(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. 造excel表格横、列数据每一格自动累加填充效果

    1.需求 excel每个横格子和竖格子number数据不一致的情况,保持如下金额字段每次自动累加 2.步骤: 1)设置excel格子为number格式(可以不要小数) 2)选中需要增序的单元格,选择e ...

  2. 【Linux】【Jmeter】配置Jmeter服务器和运行Jmeter

    以前整理过Linux下的Jmeter知识,所以此处看可以参考以下链接: 参考链接:http://www.cnblogs.com/conquerorren/p/7880604.html [root@-- ...

  3. this 基础使用方法

    在Java中,this是调用类中变量和内部类的构造方法的关键词,在对象有同名变量时,可以指定类的变量. 例子1: package example_1; import java.lang.*; publ ...

  4. Python-1 试玩OpenCV

    昨天同事说微信更新有跳一跳小游戏,便更新了玩一玩.至于抄袭不抄袭我不讨论,看玩法和色彩都很简洁.想用Python试试摄像头捕捉图像,然后分析距离每次都能跳到中心,有生物机械手指之类的再弄到树莓派上岂不 ...

  5. django交互vue遇到的问题

    接受列表(数组): request.POST.get('array', '') # 结果得到数组的最后一个元素 request.POST.getlist('array', '') # 获取整个列表

  6. torando-ioloop生命周期

    https://stackoverflow.com/questions/5375220/how-do-i-stop-tornado-web-server?answertab=votes#tab-top ...

  7. 关于lampp中的proftpd的一些使用

    这个是配置文件 ServerName "ProFTPD" ServerType standalone DefaultServer on Port 21 这个是端口 Umask Ma ...

  8. C# 反射常见用法

    定义: 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指掌.另外我还可以直接创建对 ...

  9. MySQL PID错误,Mysql server PID file could not be found!

    https://blog.csdn.net/u010098331/article/details/50752667/

  10. python的字符串分片

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