0

我有一个应用程序需要在将表单数据发送到服务器之前对其进行签名。在签名方法中,我必须使用 javascript 转义所有表单输入值,对其进行签名,然后将签名数据发送到服务器进行交叉匹配。远程服务器以一种用加号对所有空格进行编码的方式转义表单数据。

因此,如果我的表单数据是:

this is test :)

编码的输出应该是

this+is+test+%3A)

但我测试了javascripts encodeURIComponent、encodeURI 和escape。所有这些都给了我以下输出:

this%20is%20test%20%3A)

任何想法哪个功能适合这个?

4

1 回答 1

2

It is quite straightforward to do the replacement yourself:

var encoded = escape(s).replace(/%20/g, "+");
alert(encoded); // outputs "this+is+test+%3A)"
于 2014-08-06T17:32:01.977 回答