-3

私はCakephp 2.xに取り組んでいます....実際に私が欲しいのは、ビューページにバッテリーレベルとメモリ使用量も表示していることです...そのため、バッテリーとメモリは数秒または数分後に変化し続けます。 ..だから私はユーザーが毎回ページを更新したりリロードしたりしたくないので、これら2つのステータスをチェックします...だから私はajaxまたはjqueryでdbからデータを取得し、それらをユーザーに表示したいです...私は知っていますフォームデータを送信してからajaxで返す構文...しかし、ここでは何も送信していません..私のページには、ajaxでデータが必要な他のものもあります...助けてください...誰かが実装した場合その前にそれを共有してください

4

1 に答える 1

0

コントローラーでロジックを実行し、ajaxResponse を返します。

  class FooController extends AppController{
    public $components = array("RequestHandler");
    //... Other actions here

    public function getSysParams(){  
         if($this->RequestHandler->isAjax()){
             //Your logic here, example:
             $sysInfo = $this->Foo->find('first', array('fields'=>array('battery', 'cpu'));
             //Return the data to AJAX call using json_encode
             return new CakeResponse(array('type' => 'application/json',
                'body' => json_encode(array('battery' => $sysInfo['Foo']['battery'], 'cpuUsage'=>$sysInfo['Foo']['cpu']),
                JSON_FORCE_OBJECT),
                'charset' => 'UTF-8')
             );

         }
     }
   }

そして、js では次のようになります。

{'battery':"33%", 'cpuUsage':"80%"}

CakePHP 2.3 でテストしましたが、動作します。以前のバージョンではわかりません。


編集

これは、jQuery を使用した JavaScript 部分です。

       $.ajax({
         url: '/Foo/getSysParams'
         data: {'foo': 'bar'}, //Any data you want to send
         success: function(dataReturned){
             $("div#update").text(dataReturned.battery);
             $("div#update2").text(dataReturned.cpuUsage);
         }
       });
于 2013-07-19T20:17:29.543 に答える