onLaunch(query) 没有经过 url decode

发布于 7 年前作者 wcai6874 次浏览最后编辑 7 年前来自 ask

我并不确定这是否算是一个 BUG,只是它跟常规惯例的做法不一致。


onLaunch 的 query 参数从形式上跟一般网页 url 的 querystring 是一样的,但它并没有经过 url decode。


比如我启动的路径设置为 /pages/index/index?p=a%2Fb


那么:


onLaunch: function(args) {

    console.log(args.query.p); // 此处预期为 'a/b',但实际结果为 'a%2Fb'

}


这样的话就存在一个问题,如果我需要设置参数 p 的值为 'a&b',应该怎么写呢?

2 回复
yong62
yong621 楼6 年前

那当我需要设置参数 p 的值为 ‘a&b’ 时,启动入口的路径是不是要写成 /pages/index/index?p=a&b

可是这样的话,p 的值应该只是 ‘a’ 吧?

xiulan17
xiulan172 楼5 年前

你传入的参数没有必要进行 encode。