我遇到了AJAX发送json的问题。
var data = [{"name": "Will", "surname": "Smith", "age": "40"},{"name": "Willow", "surname": "Smith", "age": "15"}];
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "json",
data: data,
success: function(response)
{
alert(response);
}
});
ajax.php
<?php
echo json_encode($_POST);
?>
ajax警报响应为[object Object]
如何在php端获取数组?
答案 0 :(得分:1)
您必须按data
方法将string
转换为JSON.stringify
并将其放入对象中。不知怎的,这样:
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "json",
data: {"data": JSON.stringify(data)},
success: function(response)
{
alert(response);
}
});
然后在服务器端,您可以通过$_POST['data']
访问传递的数据:
echo json_decode($_POST['data']);