2010-12-18 82 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