需要帮忙,
我希望能够通过 ajax 将表单发送到控制器进行处理,同时在应用程序控制器(cakephp 3.4)中启用 crsf 和安全组件。将不胜感激我能得到的任何帮助。谢谢
为了发送 ajax 请求,您需要首先通过文档中指定的 head 请求发送 csrf 令牌(link)
Cakephp 3.6+
这是一个带有jquery阿贾克斯调用
$.ajax({
url: '<?php echo $this->Url->build(['controller' => 'Foo', 'action' => 'bar'])?>',
beforeSend: function(xhr){
xhr.setRequestHeader('X-CSRF-Token', '<?php echo $this->request->getParam('_csrfToken') ?>'));
}
});
Cakephp 3.6 以下
您需要为 javascript 创建或使用 cookie 读取器(例如:js-cookie)
这是一个带有jquery阿贾克斯调用和js-cookie:
$.ajax({
url: '<?php echo $this->Url->build(['controller' => 'Foo', 'action' => 'bar'])?>',
beforeSend: function(xhr){
xhr.setRequestHeader('X-CSRF-Token', Cookies.get('csrfToken'));
}
});
编辑:cakephp 3.6 发布后更新答案
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)