axios的全局拦截
时间: 2023-10-19 16:33:17 浏览: 103
在Vue中使用axios实现全局拦截的方法如下:
首先,我们需要创建一个axios实例,可以在主文件中或者单独的一个文件中创建。根据引用中的代码,我们可以创建一个名为`service`的axios实例,设置基础URL、是否带cookie以及请求超时时间等参数。
接下来,我们可以使用`service.interceptors.request.use`来添加请求拦截器。在拦截器中,我们可以对请求做一些共同的处理,比如在请求头中添加token、loading效果等。在请求拦截器中,我们可以通过`config`参数来获取请求的相关信息,如请求的URL、请求方法等。
然后,我们可以使用`service.interceptors.response.use`来添加响应拦截器。在拦截器中,我们可以对响应做一些共同的处理,比如根据响应状态码进行错误处理、根据响应结果进行统一的提示等。在响应拦截器中,我们可以通过`response`参数来获取响应的相关信息,如响应的数据、响应的状态码等。
需要注意的是,拦截器是一个异步操作,所以在拦截器中如果需要使用异步操作,可以返回一个Promise对象或者使用async/await来处理。
总结一下,axios的全局拦截可以通过创建axios实例,并使用`interceptors`属性来添加请求拦截器和响应拦截器来实现。这样可以对请求和响应进行统一的处理,提高代码的复用性和可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Vue axios全局拦截 get请求、post请求、配置请求的实例代码](https://download.csdn.net/download/weixin_38734200/12949432)[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%"]
- *2* *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: 50%"]
[ .reference_list ]
阅读全文