Code Lab

CakePHP/Python/Swiftを勉強中... 好きなことで生きて行く!

CakePHP3 ajaxでCsrfトークンチェックする

f:id:natuta:20170201203716p:plain

ajaxで通信する場合に、form内に自動生成されている「_csrfToken」を一緒に送信することで回避できる。

        var csrf = $('input[name=_csrfToken]').val();
        $.ajax({
            url: url,
            type: "POST",
            beforeSend: function(xhr){
                xhr.setRequestHeader('X-CSRF-Token', csrf);
            },
            dataType: "JSON",
            success : function(data, dataType){
                console.log('成功');
                console.log(data);
            },
            error: function(data, dataType){
                console.log('失敗');
                console.log(data);
            }
        });