无法让.getJSON工作

时间:2013-07-05 04:03:50

标签: php jquery ajax json

使用$ .getJSON()

发送和接收JSON对象时遇到问题

index.html 中,我发送一个get JSON请求来发送对象并检索数据

var newtable = {
"query":"create",
"num":"2"
};
var crypt=JSON.stringify(newtable);
$.getJSON('php/table_manager.php',crypt,function(data){alert(data);});

php / table_manager.php 中,我编写了一个脚本来简单地返回JSON对象:

$data = json_decode($_POST);
$return = json_encode($data);
echo $return;

但是,$return为空。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

当你向$ .getJSON提交一个对象时,它被jQuery解压缩到发送到服务器的单独变量中。因此,在服务器上,您将拥有$_GET['query'] == "create"$_GET['num'] == "2"

您需要做的就是json_encode($ _ GET)并将其发回 - 无需先解码。

答案 1 :(得分:0)

jQuery的ajax套件的函数$.getJSON发送一个类型为'GET'的请求。

php / table_manager.php是:

$data = json_decode($_POST);
$return = json_encode($data);
echo $return;

尝试通过$_POST检索POST值,将其更改为$_GET,您就可以了!