当用户点击onclick事件时,我正在发送加密的敏感数据。此加密数据有时包含加号(+
)当我在服务器上检索此请求变量时,+
将转换为空格。这会导致解密失败。
示例:
xrUxHtYpO2Yu3Z31ve+KNA==
转换为:
xrUxHtYpO2Yu3Z31ve KNA==
有没有办法逃避字符串,所以按原样发送?
答案 0 :(得分:5)
您正在寻找的功能是“encodeURIComponent()”:
var encoded = encodeURIComponent("nasty string");
您在服务器端根本不需要任何代码;您的Web框架几乎可以肯定地无法完成URL编码。 (编辑 - 嗯,如果你使用的是一些Java / JSP Web框架,那么你肯定不必在服务器端做任何花哨的事情。)
答案 1 :(得分:2)
尝试用+
替换%2B
。那来自HTML URL Encoding Reference at W3Schools。希望这有帮助!
答案 2 :(得分:2)
一般概念: http://en.wikipedia.org/wiki/Percent-encoding
如何在JavaScript中执行: Encode URL in JavaScript?