これは明らかなはずですが、インターネット上で役立つものや更新されたものは見つかりませんでした。
ビューのコンテンツと CakePHP コントローラーから実行する JS コードを取得する ajax でリクエストを実行しようとしています。
リクエストは次のとおりです。
$.ajax({
url: '/alarm/fetchGadgetsComponent',
type: "POST",
cache: false,
dataType: 'json',
success: function (data) {
console.log(data);
}
});
PHP クラスは次のようになります。
class AlarmController extends AppController {
public $uses = false;
public $components = array('RequestHandler');
public function index() {
}
public function fetchGadgetsComponent()
{
if ($this->request->is('Ajax'))
{
$this->autoRender = false;
$this->layout = 'ajax';
$html = $this->render('ajax\widgetsPanel');
$js = $this->render('ajax\widgetsPanel.js');
echo json_encode(array('html' => $html,'js' => $js));
}
}
}
$html
まず、最初のレンダリングは、変数ではなく画面にレンダリングするだけです。次に、別の方法で js ファイルを取得するにはどうすればよいですか? (render メソッドは .ctp ファイルを検索するため、明らかにこれを目的としたものではありません)、それらを json 式として一緒に解析するにはどうすればよいですか?
ありがとうございました