收藏
回答

微信扫二维码,拉起小程序并携带一个带空格的参数,在小程序内部获取这个参数后发现空格被编码成+号?

decodeURIComponent 解码后+号仍然存在,这个有办法解决吗?

最后一次编辑于  2023-10-23
回答关注问题邀请回答
收藏

2 个回答

  • Cupid
    Cupid
    2023-10-23

    参数被编码成“+”是编码规范不一致引起的,具体没给出,不好评价。

    解决方法是,给路径添加参数的时候要用encodeURIComponent进行编码

    // 错误
    '/path/to/minprogram?p='+value;
    
    // 正确
    '/path/to/minprogram?p='+encodeURIComponent(value)
    

    这样在打开的时候才能正常decode.

    另外,如果无法从源头解决问题,完全可以在接收参数之后把“+”替换成“ ”(空格)

    2023-10-23
    有用 1
    回复
  • Jerry
    Jerry
    2023-10-23

    把空格去了

    2023-10-23
    有用
    回复
登录 后发表内容