ในการรับค่า POST จาก serializeArray ใน PHP ให้ใช้ serializeArray() กระบวนการ. 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; } ?>
ตัวอย่าง
ต่อไปนี้คือตัวอย่างที่แสดงการใช้วิธีนี้:
<html> <head> <title>The jQuery Example</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $(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:maroon;color:white;"> STAGE - 1 </div> <br /> <div id = "stage2" style = "background-color:maroon;color:white;"> 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>