@在GET中转换为%40

Ben*_*ton 6 forms ajax jquery asciiencoding

我正在使用http://jquery.malsup.com/form/ ,我正在使用GET向网址发布电子邮件地址.

看起来电子邮件地址中的@正在转换为%40.

这对于捕获数据的网站来说会是一个问题吗?

Mat*_*ens 17

%40是URL的编码版本@.此转换仅发生在URL中.服务器仍会将其视为@,如有必要,您甚至可以使用JavaScript对其进行解码:

decodeURIComponent('%40'); // '@'
// or, to encode it back:
encodeURIComponent('@'); // '%40'
Run Code Online (Sandbox Code Playgroud)

这是一个URL的示例,它将按照您在服务器端期望的方式进行解析:

http://mathiasbynens.be/demo/get?x=%40
Run Code Online (Sandbox Code Playgroud)

如果您访问该页面,您将看到它打印@,而不是%40.

以下是一个URL的示例,它将通过使用decodeURIComponent以下方式在客户端进行解析:

http://mothereff.in/byte-counter#%40
Run Code Online (Sandbox Code Playgroud)

如果您访问该页面,您将看到textarea的内容设置为@,而不是%40.