如何序列化 JavaScript 数组?

javascriptweb developmentfront end technology更新于 2024/6/20 15:19:00

在本教程中,我们将学习如何序列化 JavaScript 数组。serializeArray() 方法会像 .serialize() 方法一样序列化所有表单和表单元素,但会返回 JSON 数据结构供您使用。

可以使用内置 jQuery 函数 serializeArray() 创建 JavaScript 对象数组,该函数已准备好编码为 JSON 字符串。它利用 jQuery 中的一组表单和/或表单控件。有几种控件。任何 JavaScript 对象都可以使用 JSON 字符串转换为 JSON,然后可以将其发送到服务器。

语法

现在让我们来看看序列化 JavaScript 数组的语法 −

$(selector).serializeArray()

在上面的语法中,我们可以看到我们必须给出一个选择器,然后我们将使用'serializeArray()'方法从给定的'selector'中获取数据,它将返回一个包含所有数据的字符串。

算法

我们已经看到了上面的语法来学习序列化 JavaScript 数组,现在我们将逐步了解完整的方法 −

  • 首先,我们必须使用 <form> 创建一个表单。标签来获取用户输入,我们将为表单定义一个 id 来识别它。

  • 在表单标签中,我们将使用 <input> 创建一些输入字段标签来获取用户的输入。

  • 我们将定义一个按钮来将所有数据提交给脚本,或者通过单击按钮,脚本中的函数将被调用并收集这些数据。

  • 在脚本中,首先,我们必须在代码中添加 JQuery,为此,我们可以在代码中添加外部源。

  • 我们将使用表单的 id 和点击事件从表单中获取数据,然后可以使用该数据在文档、后端等中打印。

  • 返回的数据将以字符串的形式出现,因此使用该数据并可以对其应用一些函数很容易。

我们已经了解了学习序列化 JavaScript 数组的语法和算法,现在让我们举一个例子来实现上面讨论的步骤。

示例

在这个例如,我们将创建一个接受一些用户输入的表单,并通过使用 serialize.Array() 方法从表单中获取数据并将其打印在文档中。

<html> <head> <title>The jQuery Example</title> <script type = "text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script> <script type = "text/javascript" language = "javascript"> $(document).ready(function() { $("#driver").click(function(event){ $.post( "/jquery/serialize.php", $("#testform").serializeArray(), function(data) { $('#stage1').html(data); } ); var fields = $("#testform").serializeArray(); $("#stage2").empty(); jQuery.each(fields, function(i, field){ $("#stage2").append(field.value + " "); }); }); }); </script> </head> <body> <p>Click on the button to load result.html file −</p> <div id = "stage1" style = "background-color:blue;">STAGE - 1</div> <br/> <div id = "stage2" style = "background-color:blue;">STAGE - 2</div> <form id = "testform"> <table> <tr> <td><p>Name −</p></td> <td><input type = "text" name = "name" size = "40" /></td> </tr> <tr> <td><p>Age −</p></td> <td><input type = "text" name = "age" size = "40" /></td> </tr> <tr> <td><p>Sex −</p></td> <td> <select name = "sex"> <option value = "Male" selected>Male</option> <option value = "Female" selected>Female</option> </select></td> </tr> <tr> <td colspan = "2"> <input type = "button" id = "driver" value = "Load Data" /> </td> </tr> </table> </form> </body> </html>

在代码主体中,我们首先定义了一个段落,然后定义了两个 div,id 分别为"stage1"和"stage2",背景颜色为蓝色,最初将包含其名称中的数据。

之后,我们定义了一个表单,id 为"testform",并在其中定义了一些输入字段以从用户那里收集一些数据,所有输入字段都设计在表格形式中。我们定义了一个输入按钮,id 为"driver"。

在脚本中,首先,我们使用外部源将 JQuery 包含在代码中,因为"serializeArray()"是 JQuery 的方法。然后在脚本中,我们使用表单的 id 和 serializeArray() 方法从表单中收集数据,并将其打印在两个表单中,第一个可以在第一个 div 元素中看到,第二个可以在第二个 div 元素中看到。

结论

在本教程中,我们学习了如何序列化 JavaScript 数组。serializeArray() 方法像 serialize() 方法一样序列化所有表单和表单元素,但返回一个 JSON 数据结构供您使用。

可以使用内置的 jQuery 函数 serializeArray() 创建 JavaScript 对象数组,该函数已准备好编码为 JSON 字符串。它利用 jQuery 中的一组表单和/或表单控件。有几种控件。任何 JavaScript 对象都可以使用 JSON 字符串转换为 JSON,然后可以将其发送到服务器。


相关文章