我正在尝试通过JSON
将PHP
发送到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
,我错了吗?
答案 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.js(more info)。使用.serializeArray()
可以促进这一点。
答案 2 :(得分:1)
json_data
是一个带有数组的文字,你将其作为参数放入帖子中,并将作为编码数组发送到服务器的post请求中。
在my_page.php
中,您可能需要查看$_POST
数组。
更新:嗯,我重新阅读你的问题,我不完全确定我写的是什么。我所说的内容适用于GET请求,我也相信发布请求。