axios 请求拦截
时间: 2023-11-09 20:00:14 浏览: 90
axios 是一个基于 Promise 的 HTTP 库,可以用于浏览器和 Node.js。它支持请求和响应拦截器,可以在请求或响应被 then 或 catch 处理前对它们进行拦截和处理。
在 axios 中,可以通过使用 `axios.interceptors.request.use` 方法来添加请求拦截器。例如:
```javascript
axios.interceptors.request.use(config => {
// 在发送请求之前做些什么
config.headers.Authorization = getToken()
return config
}, error => {
// 对请求错误做些什么
return Promise.reject(error)
})
```
这个拦截器会在每个请求发送前被调用,可以在其中对请求进行一些处理,比如添加请求头信息等。
相关问题
axios请求拦截器拦截请求
axios请求拦截器在发送请求之前会拦截请求,并可以对请求进行一些处理。在这个例子中,我们可以看到拦截器的配置在引用中的`http.interceptors.request.use`函数中完成。该函数接受一个参数`config`,代表当前要发送的请求的配置。在这个函数中,我们可以根据需要对请求进行一些逻辑判断。
首先,我们可以看到在这个拦截器中定义了一个数组`noLanJie`,它包含了一些不需要被拦截的请求地址。如果请求的地址在这个数组中存在,那么就直接放行,不做任何处理。
如果请求的地址不在`noLanJie`数组中,那么就是需要被拦截的请求。在这个例子中,拦截器会从本地存储中获取到一个名为`token`的值,并将它添加到请求的请求头中的`authorization`字段中。这样,在发送请求时,会将这个`token`作为身份验证信息携带到后端。最后,拦截器需要返回`config`对象,以便让请求继续发送。
总结起来,axios的请求拦截器可以在发送请求之前对请求进行一些处理,例如添加请求头信息等。拦截器可以根据请求的配置进行逻辑判断,决定是否拦截请求并进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [axios请求拦截器的配置](https://blog.csdn.net/qq_44603011/article/details/123121764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [vue axios登录请求拦截器](https://download.csdn.net/download/weixin_38655810/13194829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [axios全局拦截+请求响应处理+路由拦截](https://blog.csdn.net/weixin_42484657/article/details/122365109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
axios请求拦截器
在使用axios时,可以通过请求拦截器来对请求进行必要的操作处理。请求拦截器在发送请求之前执行,可以用来添加统一的cookie、对请求体进行验证、设置请求头等操作。相当于是对每个接口里相同操作的一个封装。
通过创建一个axios实例,可以使用拦截器来拦截请求和响应。通过创建实例并设置相关配置,可以在需要拦截请求或响应的地方使用该实例来发起异步请求。而不需要拦截请求或响应的地方,则可以直接使用axios来发起异步请求。
拦截器在页面发送http请求时非常有用,可以对请求和响应进行特定的处理。比如,在拿到响应之前展示loading动画,或者在每个请求中附带后端返回的token等信息。对于请求较多的情况下,我们可以使用axios提供的拦截器API来进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [axios 请求拦截器&响应拦截器](https://blog.csdn.net/weixin_44428734/article/details/120077319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [axios 拦截器](https://blog.csdn.net/YHLSunshine/article/details/123881984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文