在小程序中通常页面之间传递参数,获取时只需要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')