最近开发过程中,遇到API接口要鉴权,每一个AJAX都需要传token。于是所有的AJAX都需要一个header,有点麻烦。

$.ajax({
    url: "aaa/bbb/ccc",
    header{
        "token": xxxxxxx,
    },
    ......
});

ajaxSetup

ajaxSetup() 方法为将来的 AJAX 请求设置默认值。

$(function () {
    // 设置jQuery Ajax全局的参数  
    $.ajaxSetup({
        header: {
            "token": xxxxxxxx
        }
        complete: function (XMLHttpRequest, textStatus) {
            var code = XMLHttpRequest.responseJSON.code;
            if ([5001, 5002, 5003, 5004].indexOf(code) > -1) {
                window.location.href = "./login.html";
            }
        }
    });

});

通过ajaxSetup() 设置了header之后,默认全局AJAX都会带上这个header。

同时,上述代码中设置了complete,在调用完成之后,先判断返回状态是否是500x,如果是则表示未鉴权,返回login页面。

 

参考链接:

https://www.html.cn/jqapi-1.9/jQuery.ajaxSetup/

https://www.runoob.com/jquery/ajax-ajaxsetup.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐