小程序学习(13):wx.navigateTo中使用“POST”形式传递数据,解决json字符串解析错误问题,navigateTo使用post传参

本文介绍了一种在微信小程序中避免使用GET方式传递复杂参数的方法,通过使用success回调中的eventChannel.emit来发送数据,有效解决了集合类型参数在字符串转换过程中的问题。

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

2019年10月14日 10:13:39

wx.navigateTo中使用“POST”形式传递数据

注:并不是真的使用POST形式传递参数,只是我这么叫,为了解决GET传递参数时的错误

1.报错原因:之前是这个方法一直是GET形式传递参数,但是有一次报错了,原因是我传递的参数是一个集合,因为集合不能直接传递,所以就转化成字符串,然后第二个页面字符串转换回来,
但是在字符串转集合时,因为输入的字符串中包含了=,所以就报错JSON字符串解析错误

现在改用另一种传递方式

这个是微信官方
wx.navigateTo描述https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html
我是使用的successres.eventChannel.emit('ccc',data)传递的
详细代码如下

父级页面

1.路径URL是我自己的,注意修改,
2.ccc是我自己命名的,可自主修改

/**
 * 方法--跳转备案管理
 */
recordManage(){
  const data = {
    lll : '测试'
  }
  wx.navigateTo({
    url: '/pages/worker/recordManage/recordManage',
    success(res){
      res.eventChannel.emit('ccc',data)
    }
  })
},
子级页面

这里的ret就是接受的上级页面数据

onLoad: function (options) {
  const eventChannel = this.getOpenerEventChannel();
  eventChannel.on('ccc',function(ret){
    console.log('接收数据',ret)
  })
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值