javascript - form.serialize() 上的编码问题;一些特殊字符显示为 ASCII 代码

标签 javascript jquery character-encoding

我在 javascript 中遇到特殊字符问题。 我有一个带有输入文本的表单,其中包含以下字符串:

10/10/2010

在 form.serialize(); 之后我得到这个字符串作为

10%2F10%2F2010

“/”字符被转换为其 ASCII 代码 %2F。

我可以使用 String.fromCharCode(ascii_code) 进行转换,但我的表单中有很多输入,因此这些字符串类似于:

var=14&var=10%2F10%2F2010&var=10%2F10%2F2010&var=10%2F10%2F2010

只是一个例子,说明我必须(“手动”)遍历这个字符串并找到这些值并进行转换。

有没有简单的方法来执行该转换? 奇怪的是,因为我以前没有遇到过这个问题,我不确定为什么现在会发生这种情况。

最佳答案

我之所以会这样,是因为那是 how it's meant to be :

The .serialize() method creates a text string in standard URL-encoded notation. It operates on a jQuery object representing a set of form elements.

据我所知,没有原生的 jQuery 函数可以反序列化,但你的帖子表明你已经得到了它,并且只卡在 URL-encoded strings 中。 :

decodeURIComponent(encodedURI)
Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent or by a similar routine.

关于javascript - form.serialize() 上的编码问题;一些特殊字符显示为 ASCII 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630053/

相关文章:

Javascript - 将 trim 函数应用于数组中的每个字符串

javascript - 未能对先前事件的元素调用操作

JQuery - 获取表体中的行数

java - 在 Android 中将阿拉伯语文本转换为 UTF8

javascript - 无法在 Electron 中成功制作透明窗口(javascript)

javascript - 聚焦 NodeList 元素

javascript - Bootstrap 自定义 JavaScript 文件未加载(Rails 4)

character-encoding - 排除 DOCTYPE、字符集等有多糟糕?

ios - 如何使用Swift 3.0读取GB2312编码的文本文件

javascript - 在按钮处于事件状态时在新选项卡中打开链接