问题如题,该问题是因 = 未转义,接口将其视为一个新的参数键对,请教各位该问题的处理方式
你在页面传同等参数,看下后端如何处理。一般 params 会做 url 编码处理
url 出现了有 +,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?
解决办法
将这些字符转化成服务器可以识别的字符,对应关系如下:
URL 字符转义
用其它字符替代吧,或用全角的。
正常的 url encode 在一个 & 之后只会 encode 一个 = 号吧,是不是后端自己写的自定义 decode 逻辑?
我看 chrome 和 postman 至少不会因为参数值里面有 = 号而出问题的
url 规定的编码为 ASCII 码,像中文等 gbk 字符需要编码为% 十六进制格式进行传参,如果参数里面直接写=,解析时会认为后面是参数值,导致后端报错,我是这么理解的。试一下把参数值里面的=转义,写成%3D
你的解释确实符合问题点,传入转义后的值是 ok 的,但是没法保证不会传入 gbk 字符,还是说交给前后端的传输过程中进行转义