老师,这是添加成功的情况下,如果不成功的话,错误又被拦截了,怎么实现modal组件中btnType=2的情况
来源:9-1 商品详情交互实现

慕姐7007955
2021-10-29
就是在index首页里添加商品购物车的时候,如果添加成功,就会出现遮罩以及跳出弹窗,如下:
async addToCart(id){
this.axios.post('/carts',{
productId:id,
selected:true
}).then((res={})=>{
this.$store.commit('getCartCount',res.cartTotalQuantity)
this.showModal = true
this.btnType = '1'
})
},
正常情况就是请求成功并提示去购物车,但是如果请求失败之后被拦截,弹窗无法弹出,因为main.js中拦截掉了
let path = location.hash
axios.interceptors.response.use(function (response) {
let res = response.data
if (res.status == 0) return res.data
else if (res.status == 10) {
if (path != '#/index' && path !== '#/') {
window.location.href = '/#/login'
}
return Promise.reject(res)
}
else {
alert(res.msg)
return Promise.reject(res)
}
})
我的问题是怎么提示用户添加购物车失败,出现弹窗效果
2回答
-
axios的interceptor拦截器里面根据状态码进行错误拦截,统一展示。所以添加失败的时候,往往是接口报错了才会添加失败,接口报错了,可以在拦截器里面统一处理。课程这块是有讲的,你的代码不完整或者还没看到这一部分。
课程使用Message.error(res.data.message);来做错误提示的。
012021-10-29 -
河畔一角
2021-10-29
我似乎没看懂你的问题?能否重新描述,配上截图?或者再课程群跟我沟通一下?
022021-10-29
相似问题