!(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. QQ聊天字体选择

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  2. Eclipse中JSP生成的class文件去了哪里?

    转自:http://www.cnblogs.com/xing901022/p/4352999.html 首先应该了解的是Tomcat在Eclipse的映射关系,参考前一篇博文所述:Tomcat的服务器 ...

  3. mongodb对数据的增删改查

    数据类型 下表为MongoDB中常用的几种数据类型: Object ID:文档ID String:字符串,最常用,必须是有效的UTF-8 Boolean:存储一个布尔值,true或false Inte ...

  4. 公式for TinyMCE 编辑器@ cnblogs.com

    编辑器截图: 行内公式:\(  f(x,y,z) = 3y^2 z \left( 3 + \frac{7x+5}{1 + y^2} \right)  \) 行间公式:\\(  f(x,y,z) = 3 ...

  5. 记一次恐怖的 Integer 溢出

    一不注意, 看起来ok 的地方都出问题了! 后来才突然想起,原来是 Integer 溢出啊 这样的代码, 没想到也会出问题. public static final long Cap_Size = 9 ...

  6. 零配置使用springboot

    1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  7. Android自定义ProgressBar样式

    我们使用的进度条多种多样,下面有几种自定义的进度条的样式,下面介绍几个. 进度条的有基本的四种样式: 默认风格的进度条: android:progressBarStyle 水平长型进度条: andro ...

  8. javascript创建节点的事件绑定

    javascript创建节点的事件绑定 timeupdate事件是<video>中用来返回视频播放进度的事件,绑定在<video>标签返回视频播放位置(每秒计). 现video ...

  9. 03.设计模式_抽象工厂模式(Abstract Fcatory)

    抽象工厂模式:创建一些列相关或者互相依赖的对象的接口,而无需指定他们具体的类, 1.创建工厂Factory: package patterns.design.factory; import java. ...

  10. Redis String数据类型

    get() del() set() setnx():如果key 不存在就进行设置,存在返回0 setex():设置value存在时间  setex color 10 red    在10s中,colo ...