所以,我在AppController的初始化函数中启用了CSRF组件。但我有一个通过AJAX提交的函数,并从动态创建的输入中发送不在表单内的数据:
$('a#delete').on('click', function(e) {
e.preventDefault();
$.post($(this).attr('href'), $('input.delete:checked').serialize());
})
我想知道是否有办法为不在表单内的动态创建的输入创建CSRF令牌?
我已经阅读了有关Csrf组件的documentation,但它没有说明如何创建Csrf令牌,或者即使动态创建的输入未包含在表单中也是如此
答案 0 :(得分:3)
在读取cookie值后,将_csrfToken
添加为表单参数:
var csrf = $.cookie('crsf');
$.post($(this).attr('href'), $('input.delete:checked').serialize() + '&_csrfToken=' + csrf);