版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30299243/article/details/83008672
最近,做小程序退款的时候,前端点击退款,返回到原来的界面是,数据刷新了,但是显示的还是原来的数据。原因在于,前端首先要给后台发请求,后台再给微信端发请求,成功之后,在把结果传给前端,同时刷新订单状态,问题在于刷新会有延迟。导致前端返回的时候,数据还是原来的数据。解决方法也很简单,返回界面的时候加个延迟请求
//取消订单
cannelorder: function() {
wx.request({
url: app.globalData.urls + app.globalData.tuikuan,
data: {
orderNum: this.data.order,
refundReason: '暂无'
},
header: {
'content-type': 'application/json' // 默认值
},
success: (res) => {
if (res.data.error == 0) {
wx.showToast({
title: '取消中!',
icon: "loading",
duration: 3500
})
setTimeout(function () {
//获取页面栈
let pages = getCurrentPages();
//上一个页面实例对象
let prepage = pages[pages.length - 2];
//把得到的值回调给上个界面
app.globalData.statusorder = "shuaxins", //返回的界面根据此值判断刷新界面。
//返回到上一个界面
wx.navigateBack({})
}, 4000) //延迟时间 这里是4秒
}
}
})
},