0

私は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));
}

ビュー.ctp:

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

しかし、コンソール名の変数はnullです。誰もがそれを正しく行う方法を知っていますか? どんな助けでもthx!

4

1 に答える 1

0

コントローラーでこれを試してください:

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