!(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. vuejs实现瀑布流布局(三)

    前面写过vuejs实现的瀑布流布局,<vuejs实现瀑布流布局(一)>和<vuejs实现瀑布流布局(二)>也确实实现了瀑布流布局,但是这个是基于SUI-Mobile实现的无限滚 ...

  2. DOM常用的属性和方法

    之前一直傻傻分不清DOM和JavaScript究竟有什么区别,随着相关工作时间的增长,开始逐渐区分DOM和JavaScript了,最近,也一直在复习有关DOM方面的知识,<JavaScript ...

  3. form表单的默认行为

    <form action=""></form> action 位空,默认提交数据到当前页.不知名method,默认为get方法 /?arg1=val1&am ...

  4. [Unity算法]斜抛运动

    斜抛运动: 1.物体以一定的初速度斜向射出去,物体所做的这类运动叫做斜抛运动. 2.斜抛运动看成是作水平方向的匀速直线运动和竖直方向的竖直上抛运动的合运动. 3.它的运动轨迹是抛物线. Oblique ...

  5. python学习笔记_week8

    一.Socket 当服务端传的东西大于客户端的最大值时怎么办?①改大buffer不行(有上限)②多传几次(用for循环必须要知道循环几次,所以不用for循环,用while) 服务端: import o ...

  6. Yii Framework隐藏index.php文件的步骤

    Yii Framework隐藏index.php文件的步骤 作者:feebas 发布于:2012-4-23 13:36 Monday 分类:Yii Framework 1.开启apache的mod_r ...

  7. Dubbo(2)--Dubbo常用配置文件解析及核心源码阅读

    1.多版本支持 服务端 创建第二个接口实现类 package com.lf; public class HelloImpl2 implements IHello{ @Override public S ...

  8. RDD的分区相关

    分区是rdd的一个属性,每个分区是一个迭代器 分区器是决定数据数据如何分区 RDD划分成许多分区分布到集群的节点上,分区的多少涉及对这个RDD进行并行计算的粒度.用户可以获取分区数和设置分区数目,默认 ...

  9. php图片上传base64数据编码。

    /** * base64图片上传 */ function IdImg($base64_img = ''){ $up_dir = 'upload/';//存放在当前目录的upload文件夹下 if(!f ...

  10. 转载 :实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)

    在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子详解这两个函数的作用.虽然Q ...