提交表单onclick时在javascript中转义值

时间:2011-05-31 13:53:32

标签: java javascript jsp

当用户点击onclick事件时,我正在发送加密的敏感数据。此加密数据有时包含加号(+)当我在服务器上检索此请求变量时,+将转换为空格。这会导致解密失败。

示例:

xrUxHtYpO2Yu3Z31ve+KNA==

转换为:

xrUxHtYpO2Yu3Z31ve KNA==

有没有办法逃避字符串,所以按原样发送?

3 个答案:

答案 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?