首页 > 编程知识 正文

微信小程序页面跳转时数据传输错误,微信小程序跨页面传数据

时间:2023-05-04 11:55:12 阅读:158746 作者:1145

本文主要记录三种跳页时数据的传输方式

url传输可以直接传输单个数据,但要传输数组词典等复杂类型时,请使用JSON.stringify ) )转换为字符串后再进行传输。

注:以这种方式传输时,如果存在于值中呢? 或者,可能会发生网址错误等错误

解决方案:对参数进行转码后再传输,或者使用缓存笑

将数据传递到//d页的name,id; 不同的变量var name='abc '; var id=3; wx.navigate to ({ URL : ' ./paged/paged? name=' name ' id=' id ) (/如果要传输复杂类型(如数组词典,请首先使用JSON.stringify ) )转换为字符串,然后使用var detail={ ' userid ' : app.dadap . id,' address id ' : this.data.address.id,' number ' 3360 this.data.' total price ' : this.data.list [ I ' date ' : this.data.date } wx.navigate to (good _ detail=' JSON.stringify (detail ) ) /接收数据onload : funcate console.log(e.id; 对于转换为//字符串的字典等数据,需要转换为vardetail=JSON.parse(e.detail )的console.log(detail; }通过为上一页中的变量赋值,从页面堆栈中获取上一页的根,然后为上一页赋值

//A页包含将var pages=getCurrentPages ()代入a页的address中的变量,该变量位于data: {address:{}} //B页。 //页面堆栈var currpage=pages [ pages.length-1 ]; //当前页面var prevpage=pages [ pages.length-2 ]; //上一页if (prevpage._ _ route _=' pages/a/a ' ) /此处确定上一个接口是哪个wx.navigateback ) Delta:1, success3360function(RES ) { console.log }地址获取成功) (prevpage.setdata ) (地址为address,地址为3360 ' 123 ' )、故障3360 fail 有些小程序的购物车是利用缓存创建的,而缓存是在本地创建的小数据库

//A页保存数据wx.setstoragesync(data_goods ),list )/b页接收数据Li=wx.getstoragesync (data _ goods ) ) /接收后缓存

//app.js全局变量app设置(globaldata: ) (userinfo:null ) ) /在其他页面中,全局变量var app=getApp ) ) app.global

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。