cakePHP(v3.x)、view画面からajaxで保存処理。

cakePHPにて、データをajaxでPOSTして編集する画面を作成します。 jQueryを使用します。

save_btn = function() {
    var csrf = $('input[name=_csrfToken]').val();
    $.ajax({
        url: /** URL */,
        type: "POST",
        beforeSend: function(xhr) {
            xhr.setRequestHeader('X-CSRF-Token', csrf);
        },
        dataType: "json",
        data: {
            /** 保存したいデータ */
        },
        success: function(data, dataType) {
            /** 通信成功時の処理 */
        },
        error: function(data, dataType) {
            /** 通信失敗時の処理 */
        },
    })
}

このような関数を適当なbtnのonclick等にセットしておきます。

ここでcsrfコンポーネントを有効にしている場合は上記のような事前処理が必要です。

あとはroutes.phpでPOSTするURLとコントローラを接続して、controller側にデータ処理に関する処理を書けば完了です。