JavaScript 学习-48.$.ajaxSetup方法设置AJAX的全局默认设置

前言

$.ajaxSetup方法用于设置AJAX的全局默认设置。之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置。
这方便我们设置error 统一返回样式。

示例

设置全局默认

 // 设置AJAX的全局默认选项
 $.ajaxSetup( {  
    url: "/login" , // 默认URL  
    aysnc: true , // 异步加载  
    type: "POST" , // 默认使用POST方式
    contentType: "application/json",
    data:{
       "name":"yo yo"  //默认添加额外参数
    },
    headers: { // 默认添加请求头  
        "Authorization": "Bearer xxxxtokenxxx" ,  
    } ,  
    error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数  
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象  
        // textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"  
        // errorMsg 可能为: "Not Found"、"Internal Server Error"等  
        console.log( '操作异常:' +  errorMsg );          
    }  
}); 

ajax发一个请求,参数都不传

// ajax请求, 什么也不传,拿默认设置
$.ajax();  

此时会用默认的配置发post请求,访问/login 地址

可以传url和type 参数改变默认值

$.ajax({
    url: "/demo" , // 设置参数改变默认值
    type: "GET" , 
});  

Authorization 认证

如果每个请求都需要传Authorization 头部参数,可以设置全局配置

     // 设置AJAX的全局默认选项
 $.ajaxSetup( {  
    headers: { // 默认添加请求头  
        "Authorization": "Bearer xxxxtokenxxx" ,  
    } ,  
    error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数  
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象  
        // textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"  
        // errorMsg 可能为: "Not Found"、"Internal Server Error"等  
        console.log( '操作异常:' +  errorMsg );          
    }  
}); 


// ajax请求
$.ajax({
    url: "/demo", // 设置参数改变默认值
    type: "POST", 
    data: JSON.stringify({
        user: 'test'
    }),
    contentType: "application/json",
});  

后面所有的ajax请求都会带上请求头部"Authorization": "Bearer xxxxtokenxxx"

POST http://127.0.0.1:5500/demo HTTP/1.1

Connection: keep-alive
Authorization: Bearer xxxxtokenxxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
Content-Type: application/json
Accept: */*
X-Requested-With: XMLHttpRequest


{"user":"test"}
posted @ 2022-10-07 12:18  上海-悠悠  阅读(262)  评论(0编辑  收藏  举报