我正在为一个学校项目制作一个简单的口袋妖怪目录,我想使用 AJAX 作为“添加到购物车”按钮,但我一直收到“加载资源失败:服务器以403(禁止)的状态响应”即使我添加了CakePHP官方文档中提到的禁用安全性。
我知道这个问题被问了很多次,但是我真的找不到一个适合4.x的答案。我的错误在哪里?提前感谢你的回复
AJAX 函数:
function ajaxAddToBasket(poke_id){
$.post("<?= $this->Url->build(['controller' => 'Paniers', 'action' => 'Addtobasket']) ?>",
{
pokemon_id: poke_id,
},
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
);
}
控制器:
public function initialize(): void
{
parent::initialize();
$this->loadComponent('Security');
}
public function beforeFilter(EventInterface $event)
{
parent::beforeFilter($event);
$this->Security->setConfig('unlockedActions', ['addtobasket']);
}
public function addtobasket()
{
$pokemon_id = $this->request->getData('pokemon_id');
$user_id = $this->request->getSession()->read('user_id');
if($pokemon_id != null && is_nan($pokemon_id)){
/**Some to-dos here**/
}
}
1条答案
按热度按时间w41d8nur1#
你需要在头中发送X-CSRF-Token。