目前我正在尝试使用ajax通过POST发送对象以在接收端进行处理。
var studentString = JSON.stringify(studentArray);
console.log(studentString);
// process the form
$.ajax({
type: 'POST',
url: 'process.php',
data: {'students': studentString},
dataType: 'json',
encode: true
})
JSON.stringify之后的输出如下,所以到目前为止一切似乎都没问题。
[{"name":"bob","gender":"m","level":"4","topic":"subtraction"},
{"name":"john","gender":"f","level":"3","topic":"addition"}]
在接收端(php端)我正在尝试使用json_decode检索数据,如下所示:
$result = json_decode($_POST['students'], true);
然而,在那之后我不知所措。如何循环生成的数组以一次一个地输出每个学生的详细信息?或者输出(例如),每个学生的名字?我尝试了
的变体foreach ($result as $k => $value) {
$msg .= $k . " : " . $result[$k];
}
......但我没有运气。任何帮助,将不胜感激。
答案 0 :(得分:2)
$result
是array
个元素,请尝试以下方法:
foreach ($result as $data) {
echo $data['name']." : ".$data['gender']; //etc.
}
答案 1 :(得分:0)
试试这个:
$.ajax({
type: 'POST',
url: 'process.php',
data: {'students': studentString}
})
<强> process.php 强>
foreach ($result as $k => $value) {
$msg = "name is:" . $value['name'];
$msg .= ", gender is:" . $value['gender'];
// add other
echo $msg."<br>";
}