首页 > 编程知识 正文

java中前后两个加号什么意思,url传参特殊字符处理

时间:2023-05-03 23:30:33 阅读:24133 作者:4456

URL的加号(转义问题

前端通过URL传递参数,并在后台日志中发现参数的加号是空格。

前端输入' a b '

后台日志' a b '

先说结论

HTTP为了避免歧义,如果有几个字符传递到后台,则需要转义。 示例:

'-"

- #

% - %

- &;

-

加号在传递到后台时必须转换为,而加号在URL中时,在特殊情况下为空格(Chrome浏览器会自动转换)。

不清楚为什么会发生这个问题。 但是,如果需要传递,在连接URL之前将转换为即可。 这是最合理的解决方法。

GET POST表单提交的转义

此外,提交表单时,参数会自动完成转义,该转义与预期相同。

GET提交的转义:

将1转换为1 1

开机自检提交的转义:

将1转换为1 1

手动转换方法

可以将URL连接到前端,并在需要转换时使用encodeURIComponent函数进行转义。

请注意,encodeURI和URL转义类似,无法正确处理。

编码组件可以正确转换。

代码:

let s='1 1'

let var_encode_s1=encodeURI(s )

letvar _ encode _ S2=encodeuri component (

控制台. log (var _ encode _ S1 ) )。

控制台. log (var _ encode _ S2 ) )。

输出:

1 1

1 1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。