2014-06-15 120 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