我想从cakePHP控制器返回一个JSON数组。我实际上有一个jquery click事件,它应该发送一个post,ajax或get调用控制器(用URL指定),该控制器应该只返回数组。这对我来说很有意义,因为我不会创建一个视图文件,我会将响应发送到控制器,我可以设置标头,回显json数组,然后可能退出。
我的输出只显示"数组"在控制台上,并不回显数组中的任何参数。有什么想法吗?
// jQuery code:
$("selector").click(function() {
$.post("/controller/view/param1/param2/",function(data) {
console.log(data);
}
}
// code in my controller:
public function view($param1 = false, $param2 = false) {
$array = array("Name" => "John");
header("Content-type: application/json");
echo $array;
exit;
}
编辑:找到解决方案 - echo $ array 必须 echo json_encode($ array)
答案 0 :(得分:3)
public function view($param1 = false, $param2 = false) {
$array = array("Name" => "John");
header("Content-type: application/json"); // not necessary
echo json_encode($array);
exit;
}