!(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. appium 搭建及实例

    一.Appium环境搭建(Java版本) 转载2016-04-26 09:24:55 标签:appium移动端自动化测试 市场需求与职业生涯的碰撞,阴差阳错我就跨进了移动App端自动化测试的大门,前生 ...

  2. MySQL 中的三中循环 while loop repeat 的基本用法

    -- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...

  3. spring得到所有Action类

    applicationContext对象.getBeansOfType(BaseAction.class)

  4. BZOJ2054 疯狂的馒头 并查集

    题意:懒得写了有空再补上 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2054 离线从后往前做,并查集维护下一个没染色的就可以啦- #incl ...

  5. ES6数组的新增功能,还是很强大的好多地方用的到

    map,reduce,filter ,forEach 废话不多说代码走起 map 映射   就是一个对一个  /* 比如:学生成绩分数对应及格不及格 也可以做一些算数运算 */ let chengji ...

  6. 20165205 预习作业三 Linux安装及学习

    Linux安装及学习 安装Ubuntu 1)安装版本 在安装VirtualBox时选择了VirtualBox 5.2.6 platform package 安装Ubuntu时选择了Ubuntu 16. ...

  7. 销售人员的分析,也可以用类似RFM的思路吗?

    本文转自知乎 作者:接地气的陈老师 ————————————————————————————————————————————————————— 有同学问:“销售人员的分析,也可以用类似RFM的思路吗, ...

  8. 《算法》第一章部分程序 part 1

    ▶ 书中第一章部分程序,加上自己补充的代码,包括若干种二分搜索,寻找图上连通分量数的两种算法 ● 代码,二分搜索 package package01; import java.util.Arrays; ...

  9. Mybatis十( mybatis其他使用)

    1.批量执行 public void addUser(User user); <insert id="addUser" parameterType="model.U ...

  10. PHP提取HTML代码中img标签下src属性

    需求:提取整片文章中img的src属性,并保存到一个数组当中 preg_match_all("/(href|src)=([\"|']?)([^\"'>]+.(jpg ...