targeturl被encode两次导致路由解析错误
TiffanyVChou opened this issue · 4 comments
开发工具随便打开一个页面页面参数为:
/pages/home/index?type=${type}&targeturl=${encodeURIComponent(location.href)}
点击开发工具添加当前页为启动页的编译模式,启动参数会在原来targeturl=${encodeURIComponent(location.href)}的基础上又encode一次,导致targeturl被encode两次,或者重新进入当前页面页面的targeturl会被encode两次。再使用路由的时候无法解析对的路径,原来targeturl例如https://www.xxxx.com.cn/xxx, 会被解析成host会被解析成www.xxxx.com.cnhttps,从而导致网络错误,host解析错误,剩下路径解析成/://www.xxxx.com......。
问题是targeturl被encode两次路由解析错误。
小程序报错:Page_Error Error: Network Error
Request URL: https://www.xxx.com.cnhttps
路径参数:/://www.xxxx.com......
build\miniprogram.config.js里的origin已经配置正确。
encode一次没问题,你试试encode两次,两次之后还对不对。
我观察到有一部分用户是encode两次的targeturl。kbone框架解码一次,判断没有://所以又加了origin,导致了Request URL: https://www.xxx.com.cnhttps/,导致network error,原因找到了,谢谢回复,