小程序-页面Json数据传递

1)页面跳转的方法:

wx.navigateTo({
      url: '../logistics/logistics?dataList=' + dataList,

    })

2)我们在参数传递的时候数据中可能会有一些特殊字符,例如 :;/?:@&=+$,#所以我们需要用函数将其进行编码,也就是下面所说的两个函数

encodeURIComponent ();  //函数把字符串编码为 URI 组件。有了编码自然也会有相对的解码函数

decodeURIComponent();//函数可把字符串作为 URI 组件进行解码。

3)在传递json的时候,我们需要将其转换为字符串传值,而接收的时候我们需要将json转换为对象接收,那就用到了下面的两个函数:

JSON.stringify();//将json转成字符串传值
JSON.parse();//将字符串转成对象接收 

4)我们接收解析好的JSON如何展示在页面中呢,小程序中一般多用setData方法改变页面信息或者是刷新之后与后台交互获取最新信息。

this.setData({
    参数:值
}) 

 

例子:

一级页面

<view bindtap='logisiticsGZFn' class="logisi">查看物流</view> 
logisiticsGZFn: function(e) {
    var Traces= [{//JSON模拟数据,项目中可以换取真实的
      "time": "2014/06/25 08:05:37",
      "context": "正在派件..(派件人:邓裕富,电话:18718866310)[深圳 市]",
      "Remark": null
    },
      {
        "time": "2014/06/25 04:01:28",
        "context": "快件在 深圳集散中心 ,准备送往下一站 深圳 [深圳市]",
        "Remark": null
      },
      {
        "time": "2014/06/25 01:41:06",
        "context": "快件在 深圳集散中心 [深圳市]",
        "Remark": null
      },
      {
        "time": "2014/06/24 20:18:58",
        "context": "已收件[深圳市]",
        "Remark": null
      },
      {
        "time": "2014/06/24 20:55:28",
        "context": "快件在 深圳 ,准备送往下一站 深圳集散中心 [深圳市]",
        "Remark": null
      },
      {
        "time": "2014/06/25 10:23:03",
        "context": "派件已签收[深圳市]",
        "Remark": null
      },
      {
        "time": "2014/06/25 10:23:03",
        "context": "签收人是:已签收[深圳市]",
        "Remark": null
      }
    ];
    var dataList=encodeURIComponent(JSON.stringify(Traces));//函数可把字符串作为 URI 组件进行编码
    wx.navigateTo({
      url: '../logistics/logistics?dataList=' + dataList,//传递参数

    })
  }

 

二级页面

onLoad: function(options) {
      var dataTemp = decodeURIComponent(options.dataList);//函数可把字符串作为 URI 组件进行解码。
      var Traces = JSON.parse(dataTemp);//航一页传过来的json字符串转化成json数组  物流信息进度
      this.setData({
        Traces: Traces
      })
  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值