2010-12-18 188 views
1

我特林通過jQueryJSON發送到PHP頁,但它不能正常工作:發送JSON到PHP

json_data = {}; 
json_data.my_list = new Array(); 

$('#table_selected tr').each (function (i) { 
    json_data.my_list.push ({id:$(this).attr("id")}); 
}); 

$.post ("my_page.php", json_data, function (response) { 
    if (response) alert("success"); 
    else alert("error"); 
}); 

<?php 
// this is my_page.php 
$json = json_decode (stripslashes ($_REQUEST['my_list']), true); 
echo var_dump($json); 

?> 

這將返回NULLcallback,在那裏我錯了?

回答

2

JSON前回聲是JavaScript對象的字符串表示。您發送的內容如下所示:

{my_list: [{id: 'foo'}, {id: 'bar'}, {id: 'baz'}]} 

哪個不是JSON。是JSON:

'{"my_list": [{"id": "foo"}, {"id": "bar"}, {"id": "baz"}]}' 

我會建議使用json2.jsmore info)。這可以使用.serializeArray()來促進。

1

json_data是一個帶有數組的文字,您將其作爲參數添加到帖子中,並將作爲發送請求中的編碼數組發送到服務器。

my_page.php你可能想看看$_POST陣列。

更新:恩,我重新讀你的問題,我不完全確定我寫了什麼。我所說的適用於GET請求,我也相信發佈請求。

2

你不需要的var_dump