在【打卡圈】开发中用户反馈点击设置无效,在设置页面开发中为了减少拉取接口频率,我选择了将用户创建圈子数据从圈子首页带到圈子设置页面,显示出旧的数据供用户对比旧数据进行修改,就在这里出现了问题,在A->B页面传参数过程中,是通过URL带参的形似传参,而这些参数中有的数据是用户自定义的,所以数据类型是不可控的,极有可能出现一些url特殊字符
url转义字符 1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. # 表示书签 %23 7. & URL 中指定的参数间的分隔符 %26 8. = URL 中指定参数的值 %3D
这些字符的出现极有可能导致参数传递错误,出现异常bug,下图为传递参数过程中出现异常导致页面跳转失败。在A页面使用encodeURIComponent对参数进行转译,在B页面使用decodeURIComponent对参数进行解密,这样就没有任何问题。
知识点: 小程序A页面传参给B页面,且参数中存在用户自定义信息,切记使用encodeURIComponent进行转译