2014-06-15 95 views
0

我有AJAX发送json的问题。发送json by ajax - 对象 - 对象

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

你必须通过'JSON.stringify'将'data'转换为字符串。 – hindmost

回答

1

您必须通过JSON.stringify方法将data转换为string并将其放置到对象中。不知怎的,像这样:

$.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']); 
+0

现在这个工作,json发送。 如何通过PHP端获取这个json数组? – ADIN

+1

@ADIN使用'json_decode',而不是'json_encode' – hindmost

+0

如果它解决了你的问题,你也可以upvote这个答案 – hindmost