0

我使用 jquery 1.8.3 和 cakephp2,我无法通过 ajax 将数据传递给控制器​​这是我的代码:

*.js

     $.getJSON("json/", {data: "somedata"}, function (data) {
        console.log(data['data']);
        d = data;
    }).error(function() { alert("error"); })

*控制器.php:

public function json($site = null)
{
    $data = Array(
        "name" => $site,
    );
    $this->layout = 'ajax';
    $this->set(compact('data', $data));
}

视图.ctp:

<?php 
    $this->autoRender = false;    
    echo json_encode(compact('data', $data)); 
?>

但在控制台名称变量为空,有人知道怎么做吗?谢谢任何帮助!

4

1 回答 1

0

在你的控制器中试试这个:

return new CakeResponse(array('body' => json_encode($data)));
于 2012-12-02T10:19:38.083 回答