小程序退款返回界面的一个坑

最近,做小程序退款的时候,前端点击退款,返回到原来的界面是,数据刷新了,但是显示的还是原来的数据。原因在于,前端首先要给后台发请求,后台再给微信端发请求,成功之后,在把结果传给前端,同时刷新订单状态,问题在于刷新会有延迟。导致前端返回的时候,数据还是原来的数据。解决方法也很简单,返回界面的时候加个延迟请求

//取消订单

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秒

}

}

})

},

你可能感兴趣的:(小程序)