CakePHP3でAjaxを使う
開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。
※JavaScript内で、Ajaxを使うときに、ローカル環境だと、パスを指定する際は、絶対パスだと、なぜか通信エラーになるので、例えば、Apacheを使っていて、htdocsディレクトリ内に、CakePHPのルートディレクトリを作成した
場合は、/アプリケーション名/コントローラ名/アクション名で指定すること。
組み込みサーバーを使っている場合は、/コントローラ名/アクション名で指定すること。
・通信すると、結果をコントローラ側でprintやechoで出力したときに『headers already sent』のようなエラーが出現することがあるので、その場合は、通信先のコントローラのuseの直後に、ob_start();を入れておくことで、エラーが消える。
参考リンク
jQueryのajaxでphpを呼び出す。(cakephp3) - Qiita
PHP: ob_start - Manual
PHP の `headers already sent` エラーはどう直したらいいですか? - スタック・オーバーフロー