roadone
roadone
  • 发布:2021-06-03 09:31
  • 更新:2022-05-11 11:25
  • 阅读:3125

uview自带的http请求响应拦截在请求异常的情况下不生效有遇到过的吗

分类:uni-app

uview自带的this.$u.http,在响应拦截中想处理异常码。但是只有正常的请求在响应拦截里才能拿到返回的res,异常的请求别说res了,连console.log(111)都不执行,有遇见过的吗?

    Vue.prototype.$u.http.interceptor.response = (res) => {  
        console.log(111)/ //正常请求执行,异常不执行  
        return res  
    }
2021-06-03 09:31 负责人:无 分享
已邀请:
s***@163.com

s***@163.com

同求 ,奈何uview的官方群太垃圾问个问题都没人理哈哈,楼主解决了么

1***@163.com

1***@163.com - 啊啊啊

originalData: true
如果将此值设置为true,拦截回调中将会返回服务端返回的所有数据response,而不是response.data

tengzhenxin

tengzhenxin

可以直接去改uview-ui/libs/request/index.js 根据状态码自己去加咯

q***@163.com

q***@163.com

正解originalData: false, // 是否在拦截器中返回服务端的原始数据,见文档说明

3***@qq.com

3***@qq.com

uview request/index.js 97行改一下

.catch(res => {
// 如果返回reject(),不让其进入this.$u.post().then().catch()后面的catct()
// 因为很多人都会忘了写后面的catch(),导致报错捕获不到catch
return new Promise(() => {
uni.showToast({
title: res.data.message,
icon: 'none'
});
});
})

要回复问题请先登录注册