将JSON发送到PHP

时间:2010-12-18 20:35:50

标签: php jquery json

我正在尝试通过JSONPHP发送到jQuery页面,但它无法正常运行:

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);

?>

这会将NULL返回到callback,我错了吗?

3 个答案:

答案 0 :(得分:2)

你在var_dump

之前不需要回声

答案 1 :(得分: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()可以促进这一点。

答案 2 :(得分:1)

json_data是一个带有数组的文字,你将其作为参数放入帖子中,并将作为编码数组发送到服务器的post请求中。

my_page.php中,您可能需要查看$_POST数组。

更新:嗯,我重新阅读你的问题,我不完全确定我写的是什么。我所说的内容适用于GET请求,我也相信发布请求。