【发布时间】:2016-03-13 22:32:21
【问题描述】:
我通过 ajax 调用向 php 脚本发送表单数据。我在 ajax 和 php 脚本中序列化数据,我想遍历该数据以提取值。 这是我的ajax调用
$("#submitAttendance").click(function(){
var data = $('form#attendanceForm').serialize();
$.ajax({
url: 'save-attendance.php',
method: 'post',
data: {formData: data},
success: function(data){
console.log(data);
alert(data);
}
});
});
在attendance.php我正在做
print_r(($_POST['formData']));//prints the entire serialize data
当我这样做时
parse_str($_POST['formData'], $searcharray);
print_r(($searcharray));//prints only last user and all radio buttons
我想提取值以便将其保存在数据库中。 这是我的表格
<form action="" id="attendanceForm">
<?php
if(mysqli_num_rows($result)>0){
while($row = $result->fetch_assoc()){ ?>
<tr>
<input type="hidden" value="<?php echo($row['id']);?>">
<td><input type="text" name="name" value="<?php echo $row['fullname'];?>" readonly></td>
<td><input type="text" name="email" value="<?php echo $row['email'];?>" readonly</td>
<td><input type="text" name="class" value="<?php echo $row['class'];?>" readonly</td>
<td><input type="radio" value="present" name="<?php echo($row['id']); ?>" checked></td>
<td><input type="radio" value="absent" name="<?php echo($row['id']); ?>"></td>
</tr>
<?php }
}
?>
<input id="submitAttendance" type="button" class="btn btn-success" value="Submit Attendance" name="submitAttendance">
</form>
【问题讨论】:
-
你不需要做'数据:{formData:数据}'只需做数据:数据。您可以执行普通的 '$_POST['name']' 来检索您发布的值。
-
是的,您正在传递一个数据数组,因此您需要重命名为数组
-
我必须做一些循环,因为值是重复的。 @Franco
-
您现在需要循环遍历 $_POST 数组以获取 php 文件中的值。
标签: php jquery ajax serialization deserialization