我有一个应用程序需要在将表单数据发送到服务器之前对其进行签名。在签名方法中,我必须使用javascript转义所有表单输入值,对它们进行签名,然后将签名数据发送到服务器以进行交叉匹配。远程服务器以一种使用plus编码所有空格的方式转义表单数据。
所以,如果我的表格数据是:
this is test :)
编码输出应为
this+is+test+%3A)
但我测试了javascripts encodeURIComponent,encodeURI和escape。所有这些都给了我以下输出:
this%20is%20test%20%3A)
任何有效的想法都适合这个吗?
答案 0 :(得分:2)
自己做替换是非常简单的:
var encoded = escape(s).replace(/%20/g, "+");
alert(encoded); // outputs "this+is+test+%3A)"