扫码进入小程序页面无法获取参数?

本文介绍了在小程序中页面间参数传递的常见方法,特别关注了通过扫描小程序码进入页面时,参数获取的特殊性。由于场景不同,options中参数被包裹在scene字段内且经过encodeURIComponent编码。为了解决这一问题,提供了decodeURIComponent和解析URL参数的方法,以正确获取扫码进入时的参数。
摘要由CSDN通过智能技术生成

在小程序中通常页面之间传递参数,获取时只需要options.参数名就可以获取该参数
但是在扫描小程序码进入到页面不能获取,提示参数名undefined
导致这个问题的原因是因为进入小程序分不同的场景,扫码进入页面的options里并不是直接就是携带的参数,如下图
打印options,外层包裹了scene,并且待获取参数是encodeURIComponent()编码后的字符串
在这里插入图片描述然后解码并重构数据获取即可

附赠url参数获取方法(其实网上一搜一大堆):

const GetQueryValue = (urlStr, queryName) => {
  let vars = urlStr.split("&");
  for (let i = 0; i < vars.length; i++) {
    let pair = vars[i].split("=");
    if (pair[0] == queryName) {
      return pair[1];
    }
  }
  return null;
}

//调用 GetQueryValue(urlStr, queryName)urlStr:参数要解析的参数字符串,queryName:要获取的参数名
GetQueryValue(decodeURIComponent(options.scene),'job_id')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值