我使用jquery 1.8.3和cakephp2,我有问题通过ajax将数据传递给控制器这是我的代码:
*。JS
$.getJSON("json/", {data: "somedata"}, function (data) {
console.log(data['data']);
d = data;
}).error(function() { alert("error"); })
* Controller.php这样:
public function json($site = null)
{
$data = Array(
"name" => $site,
);
$this->layout = 'ajax';
$this->set(compact('data', $data));
}
view.ctp:
<?php
$this->autoRender = false;
echo json_encode(compact('data', $data));
?>
但是在控制台名称变量为null,有人知道如何正确吗? thx任何帮助!
答案 0 :(得分:0)
在你的控制器中试试这个:
return new CakeResponse(array('body' => json_encode($data)));