• jquery ajax 拦截,axios拦截


    最近在做的项目用到了需要在ajax请求之前加参数,

    1. 第一种ajax请求拦截

    a. https://www.cnblogs.com/pssp/p/5878337.html,这篇文章里提到的是使用ajaxStart和ajaxStop,

    具体如下 :$(document).ajaxStart(function(){}).ajaxStop(function(){}),这样的无法获取ajax发送的配置项,只能用来添加londing动画,无法满足要求

    b. https://www.cnblogs.com/dingzhipeng/p/8483393.html,使用钩子函数,这个因为又要引入额外的文件,所以并没有尝试

    c. 自定义ajax方法,

    (function() {

        var _ajax = $.ajax;
        $.ajax = function(opts) {
            //实现自己的逻辑
            _ajax(opts);
        };
    })();
    这种方式能够满足要求,因为要统一修改ajax请求,所以自己实现最好
    下面还有问题,因为是要添加自定义headers信息,所以需要设置headers
    https://blog.csdn.net/g_wendy/article/details/80679197,这里提到了两种方式

    1.1 setting参数 headers

    $.ajax({
        headers: {
            Accept: "application/json; charset=utf-8"
        },
        type: "get",
        success: function (data) {
    
        }
    });
    
        
     
    1.2 beforeSend方法
     
    $.ajax({
        type: "GET",
        url: "default.aspx",
        beforeSend: function(request) {
          //这里添加自定义的header request.setRequestHeader("Test", ""); }, success: function(result) { alert(result); } });

    2. axios拦截

    // 每次请求携带cookies信息,用于跨域处理时
    axios.defaults.withCredentials = true;

    //axios发送之前的拦截处理

    axios.interceptors.request.use(
    config => {return config}
    )
    //axios请求返回后的处理
    axios.interceptors.response.use(
    function (response) {return response}
    )
     
  • 相关阅读:
    CSS浏览器兼容问题大全
    JavaScript游戏之飞机接子弹
    Html5小游戏之变大的小球
    JavaScript游戏之小型打飞机
    JavaScript游戏之是男人就飞10000米
    JavaScript无聊打地鼠
    JavaScript游戏之优化篇
    前端开发的开始基于OO的Ajax类
    JavaScript游戏之仿劲舞团(简陋版)
    仿JQuery的show与hide动画函数
  • 原文地址:https://www.cnblogs.com/wenwenli/p/10375613.html
Copyright © 2020-2023  润新知