如何序列化JavaScript数组?
该 serializeArray()方法序列化所有形式和形式元素,如.serialize()方法,但返回JSON数据结构,为您与工作。
假设以下是PHP文件serialize.php中的内容-
<?php if( $_REQUEST["name"] ) { $name = $_REQUEST['name']; echo "Welcome ". $name; $age = $_REQUEST['age']; echo "<br />Your age : ". $age; $sex = $_REQUEST['sex']; echo "<br />Your gender : ". $sex; } ?>
示例
以下是在JavaScript中实现serializeArray()方法的代码-
<html> <head> <title>The jQuery Example</title> <script type = "text/javascript" src = "https://cdn.staticfile.org/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>