美文网首页
ajax全局设置相关

ajax全局设置相关

作者: xiaolizhenzhen | 来源:发表于2018-02-07 14:35 被阅读0次

问题描述:怎么设置ajax的通用设置

解决方法:通过$.ajaxSetup()函数来全局设置。
如果要处理$.ajax()得到的数据,则需要使用回调函数:beforeSend、error、success、complete等等。

$.ajaxSetup({
    cache:false , // 不缓存该ajax请求的数据
})

问题描述:如果已在common.js设置ajax的全局属性如:

$.ajaxSetup({
    cache : false,
    type: 'POST',
    beforeSend : function(xhr, params) { // 发送请求前触发
        if(localStorage.length > 0 && localStorage.getItem("user")){
        
            if (params.url.indexOf('?') == -1) {
                params.url = params.url + "?userName=" + JSON.parse(localStorage.getItem("user")).loginName +"&token="+ localStorage.getItem("token")
            } else {
                params.url = params.url + "&userName=" + JSON.parse(localStorage.getItem("user")).loginName +"&token="+ localStorage.getItem("token")
            }
            return true;
        }
    }
});

那么,怎么在单独的某个ajax不使用该全局设置呢?

解决方法:在单个的ajax中重写设置好的属性(优先级覆盖)

问题描述:如果我既要使用设置好的全局属性,又要使用全局设置好的beforeSend,并且我还想在beforeSend中执行一些单个ajax需要执行的东西,该如何操作?

    解决方法:
    // 全局设置的beforeSend方法中判断单个里面是否有某方法,如果有执行,否则跳过
    $.ajaxSetup({
        cache : false,
        type: 'POST',
        beforeSend : function(xhr, params) { // 发送请求前触发
            if(typeof this.ajaxBeforeSendCallback != 'undefined'){
                this.ajaxBeforeSendCallback();
            }
            if(localStorage.length > 0 && localStorage.getItem("user")){
            
                if (params.url.indexOf('?') == -1) {
                    params.url = params.url + "?userName=" + JSON.parse(localStorage.getItem("user")).loginName +"&token="+ localStorage.getItem("token")
                } else {
                    params.url = params.url + "&userName=" + JSON.parse(localStorage.getItem("user")).loginName +"&token="+ localStorage.getItem("token")
                }
                return true;
            }
        }
    });
    // 单个需要在beforeSend中执行其他方法的ajax的使用
    $.ajax({
        url: url,
        data: data,
        dataType:"json",
        ajaxBeforeSendCallback:function(){
            // 在这里执行需要执行的方法
        },
        success: function(data){}
    });

相关文章

  • ajax全局设置相关

    问题描述:怎么设置ajax的通用设置 解决方法:通过$.ajaxSetup()函数来全局设置。如果要处理$.aja...

  • jQuery的ajax方法

    jQuery中的ajax全局配置与全局回调设置 $.ajaxSetup方法可以设置全局配置 全局配置会作为下次aj...

  • HTTP系列 -- AJAX 进阶

    相关代码链接 AJAX 设置响应 和 获取请求 AJAX 设置请求 header 第一部分:request.ope...

  • jQuery ajax设置全局配置

  • jQ/Zepot全局Ajax设置

    jQuery版 现在有这样的一个场景,如果一个页面所有ajax请求的error回调,都做同样的处理,那么一个个写未...

  • $.ajaxSetup()处理session失效问题

    $.ajaxSetup方法是来设置AJAX请求默认选项的,可以认为是全局的选项设置。 以下是本人项目中部分代码截图...

  • php 得 pecl工具安装。。。。

    安装pecl 安装php扩展 查询相关扩展 安装相关扩展 设置全局php.ini,设置后可以自动添加.

  • 全局设置Ajax的请求头

    最近项目中将原来的session认证迁移到token,原有的web界面的Ajax请求均没有携带头部鉴权参数,一个一...

  • iOS状态栏的相关设置

    iOS状态栏的相关设置 一:状态栏的隐藏和显示(全局设置) 1...

  • ajax全局

    $.ajaxSetup({ global:false, complete: function(xhr,textst...

网友评论

      本文标题:ajax全局设置相关

      本文链接:https://www.haomeiwen.com/subject/huaozxtx.html