小程序踩坑 如何在微信支付后调取上个页面数据

本文介绍了一种在微信小程序支付过程中遇到的问题及解决方案:支付成功后无法获取订单信息。通过使用常量保存数据,确保了订单信息能够被正确读取并处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先前我的支付都是先下单再支付,如果支付页面退出也会生成订单,但在支付成功后调取页面数据为空,订单号也是随机生成,无法在其后读取,一直想不通,最后发现使用常量const dddata = that.data便可以保存数据,便运行成功,就这,花了我好几天。。。。。。
话不多说,上代码

    if (that.data.name !== "" && that.data.shop_address !== "" && that.data.phone_number !== "") {
      const dddata = that.data


           wx.cloud.callFunction({
        name:"pay_cc",
        data:{
          outTradeNo: timestamp + timestamp + timestamp + 'ABC',
          money: that.data.money * 100
        },
        success:res =>{
          console.log("进行支付中",res)
          wx.requestPayment({
                timeStamp: res.result.payment.timeStamp,
                nonceStr: res.result.payment.nonceStr,
                package: res.result.payment.package,
                signType: 'MD5',
                paySign: res.result.payment.paySign,
            success(res){
              wx.showToast({
                title: '支付成功',
              }),
              // wx.navigateTo({
              //   url: '../../home_pages/home-details/home-details?id=',
              // })
              wx.switchTab({
                url: '../../home_pages/home/home',
              }),



              wx.cloud.callFunction({
                name: "product_delet",
                data: {},
                success: function (res) {
                  console.log('购物车删除成功', res)
                  for (var i = 0; i < that.data.product.length; i++) {
                    wx.cloud.callFunction({
                      name: "inc_product_num",
                      data: {
                        product_id: that.data.product[i].product_id
                      },
                      success(res) {
                        console.log("销量自增成功", res)
                      },
                      fail(res) {
                        console.error("销量增加失败", res)
                      }
                    })
                  }

                }
              })


              db.collection('order').add({
                data:{
                     name: dddata.name,
                     phone_number: dddata.phone_number,
                     zitidian:dddata.shop_address,
                     beizhu: dddata.beizhu,
                     money: dddata.money,
                     product: dddata.product,
                     product_state: "送货中",
                     time: DATE,
                },
                success:function(res)
                {
                  console.log('下单成功',res)
                  wx.cloud.callFunction({
                    name: "inc_product_num",
                    data: {
                              product_id: that.data.product[i].product_id
                            },
                            success(res) {
                              console.log("销量自增成功", res)
                            },
                            fail(res) {
                              console.error("销量增加失败", res)
                            }
                  })
                },fail(res){

                }
              })
            },
            fail(res){
              console.log('支付失败', res)
            },
            
            
          })
        }
      })
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值