uniapp如何实现请求拦截和响应拦截
时间: 2023-08-08 20:09:44 浏览: 189
uni-app 请求拦截器
Uniapp 可以通过拦截器(Interceptor)来实现请求拦截和响应拦截。
在 uniapp 中,可以使用 `uni.request` 方法发起网络请求。通过在 `uni.request` 方法中配置 `header` 参数,可以设置请求头信息。而拦截器就是在 `header` 中添加特定的参数,来控制请求和响应的行为。
以下是一个示例代码:
```js
// 请求拦截器
uni.interceptors.request.use(function(config){
// 在请求发送之前,对请求进行修改
config.header['Authorization'] = 'Bearer ' + uni.getStorageSync('token')
return config
}, function(error){
// 对请求错误进行处理
return Promise.reject(error)
})
// 响应拦截器
uni.interceptors.response.use(function(response){
// 对响应数据进行处理
if(response.data.code === 401){
// 未授权,跳转到登录页面
uni.navigateTo({
url: '/pages/login/login'
})
}
return response
}, function(error){
// 对响应错误进行处理
return Promise.reject(error)
})
```
在上面的示例中,我们通过 `uni.interceptors.request.use` 方法和 `uni.interceptors.response.use` 方法分别设置了请求拦截器和响应拦截器。在请求拦截器中,我们在请求头中添加了 `Authorization` 参数,这个参数的值是从本地存储中获取的 token。在响应拦截器中,我们对响应数据进行了处理,如果响应数据的 code 是 401,就跳转到登录页面。
阅读全文