也就是说,+ 从前台传到后台,应该转换为 %2B 。 但是 + 作为 URL 参数时,会被浏览器自动转换为空格(转换机制不明,不知道浏览器为什么这么做)。 我们要做的很简单,提前转换一下,保证 + 被转义成 %2B,这样的话无论是通过 URL 传,还是用 AJAX 传值,都不可能出错。 使用 encodeURIComponent 转义的 js 代码:
%2B
encodeURIComponent
var s = encodeURIComponent('1+1'); console.log(s); 打开控制台查看输出,+ 处理正确 1%2B1 顺便一提,不要使用 encodeURI 函数,它不能正确转义。 GET POST 表单提交的转义 使用表单提交,无论是 GET 还是 POST,都会自动帮我们作出正确的转义。 url中带有加号的处理方法
打开控制台查看输出,+ 处理正确
1%2B1 顺便一提,不要使用 encodeURI 函数,它不能正确转义。 GET POST 表单提交的转义 使用表单提交,无论是 GET 还是 POST,都会自动帮我们作出正确的转义。 url中带有加号的处理方法
顺便一提,不要使用 encodeURI 函数,它不能正确转义。
encodeURI
使用表单提交,无论是 GET 还是 POST,都会自动帮我们作出正确的转义。
url中带有加号的处理方法