微信小程序 带参数返回上一页

带参数返回上一页碰到的场景:
用户A购买商品结算,进入订单页,提示没有收货地址无法支付。用户A触发新增地址事件,跳转到新增地址页面。输入地址相关信息资料后,点击保存按钮,触发提交事件。
网上查到了相关方法,在此简单做个记录。

提交事件的业务逻辑如下:
1、请求后台接口api将新增收货地址数据添加到数据库,后台返回的请求状态码。
2、当返回的状态码是200,表示请求成功,在成功的回调中利用getCurrentPages() 方法获取页面栈, 将上一页需要的数据setData赋值。返回上一页将数据携带过去。

formSubmit: function(e) {
  console.log(e)
  var that = this
  //发送请求
  wx.request({
    url: 'xxxx.com/api/Address/createAddr',
    header: { 'content-type': 'application/json' },
    method: 'POST',
    data: { ... 需提交的数据 },
    success: function(res) {
      //console.log(res)
      if (res.statusCode == 200) {
        wx.showToast({
            title: '提交成功',
        })
        
        //获取当前页面js里面的pages里的所有信息。
        let pages = getCurrentPages()
        console.log(pages)
        // -1是当前页面, -2是上一个页面,-3是上上个页面以此类推。
        let prevPage = pages[pages.length - 2]
        // 设置数据  是上一页你想被携带过去的数据,后面是本方法里你得到的数据
        prevPage.setData({
            address: e.detail.value.address,
            name: e.detail.value.name,
            phone: e.detail.value.phone
        })
        //prevPage.onShow()
        //返回上一页 这个时候数据就传回去了 可以在上一页的onShow方法里把传过去的数据输出来查看是否已经携带完成 
        wx.navigateBack({
            delta: 1
        })
      }
    },
    fail: function(res) {},
    complete: function(res) {}
  })
}  
发布了21 篇原创文章 · 获赞 1 · 访问量 7809

猜你喜欢

转载自blog.csdn.net/eva_feng/article/details/105065008
今日推荐