使用GetX路由传递含+号邮箱时,+号丢失变为空格的问题
解决GetX路由传递含"+"邮箱时符号被替换为空格的问题
- 问题根源:URL中"+"属于特殊字符,默认会被解析为空格,直接将邮箱拼接进路由参数会导致符号被替换。
- 解决方案:传递参数前对邮箱做URL编码,GetX在接收参数时会自动解码还原原内容。
修改代码如下:
1. 生成路由时编码邮箱地址
import 'dart:convert'; static String getVerify(String email) => "$verify?email=${Uri.encodeComponent(email)}";
2. 接收参数无需额外处理
GetPage( name: verify, page: () { final String email = Get.parameters['email']!; // GetX会自动解码,还原"+"符号 return VerifyPage(email: email); }, transition: Transition.fadeIn, ),
处理后,类似test+123@example.com的邮箱会被编码为test%2B123@example.com传递,到VerifyPage后会自动解码回原邮箱,不会出现符号丢失问题。
内容的提问来源于stack exchange,提问作者Knomic
相关产品推荐
相关产品推荐

