善用 encodeURIComponent

被URL跳转问题折腾的有点呛 找到问题后被自己蠢哭

 

事情起因:

PC端活动进行扫码,跳到移动端对应的活动详情页

移动端首页部分是用钉钉小程序,其他场景模块有用小程序、也有用H5页面

因为涉及到登录问题 最开始的实现都会先跳转到首页 再在首页做判断 进行二次跳转 这样子页面会有一个用户可见的转跳过程,很不友好,而且第二次扫码 怎么都进不到详情页了 只能到首页

故做了直接跳转到详情页的操作

但是总有各种问题

 

最终发现都是 encodeURIComponent 惹得祸

问题一:当把URL链接作为参数传递时,应该用 encodeURIComponent 进行编码 (难怪我拿不到另一个参数 一度还把锅甩给钉钉 汗颜!!)

问题二:错用encodeURIComponent编码,在当前页面已经合成了URL 要进行URL跳转时 我却用了encodeURIComponent编码 导致无法跳转

 

总结:

  • encodeURI:适用于url跳转时。
  • encodeURIComponent:适用于url作为参数传递时。
  • tips:当url作为参数传递时如果没有用encodeURIComponent进行编码,会造成传递时url中的特殊字符丢失

 

善用 encodeURIComponent

上一篇:1、webpack


下一篇:轻量级http请求工具forest