CakePHP3でajaxにてデータを取得する場合、
普通にテンプレートとアクションを作っても
何故かテンプレートがないと文句を言われた。
どうもajaxの場合は
Layout/ajax/default.ctp
を用意しなければならないらしい。
アクションテンプレート側も同様に
ajaxフォルダ以下に作らなくてはならない。
ちなみにアクション内では
|php|
$this->request->is('ajax')
||
でajaxかどうかを判断できる。
テストを作る場合には
下記のようにしてajaxの場合を再現できる。
|php|
$this->configRequest([
'headers' => [
'X-Requested-With' => 'XMLHttpRequest',
],
]);
||
元々こんなことしなくても動いていた気がするのだが
開発中にアップデートされたのだろうか?
もしくは何か設定を変えたせいとかかもしれない。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント