记录一个前端问题
使用layer.open打开小窗口只能使用get请求,传递的参数中包含URL解析时的特殊字符,eg:
'/case/getCaseInfo?caseCode=${caseInfo.caseCode}&fileName='+data.info
然后data.info中包含&、=的特殊字符,eg:u=2729906829,3399182358&fm=26&gp=0.jpg,
传到后台后解析出错,接收的数据跟实际不一致的情况。
使用一个前端的方法
encodeURIComponent(param),上面的可以替换为
'/case/getCaseInfo?caseCode=${caseInfo.caseCode}&fileName='+encodeURIComponent(data.info),
就可以正常向后台传递准确的参数。下面是标识的含义
| 字符 | 含义 | 可替换为 |
|---|---|---|
| # | 表示书签 | %23 |
| % | 指定是一个特殊字符 | %25 |
| & | URL 中指定的参数间的分隔符 | %26 |
| + | 表示空格 | %2B |
| / | 分隔目录和子目录 | %2F |
| 空格 | URL中的空格可以用+号或者编码 | %20 |
| = | URL 中指定参数的值 | %3D |
| ? | 分隔实际的URL和参数 | %3F |
博客记录了一个前端问题,使用layer.open打开小窗口时只能用get请求,若传递参数包含URL解析的特殊字符,传到后台解析会出错,接收数据与实际不一致。通过一个前端方法替换特殊字符,可正常向后台传递准确参数。

2897

被折叠的 条评论
为什么被折叠?



