CakePHP 3 AJAX POST 不允许并返回 403

Posted

技术标签:

【中文标题】CakePHP 3 AJAX POST 不允许并返回 403【英文标题】:CakePHP 3 AJAX POST not allowed and returns 403 【发布时间】:2018-01-23 10:40:02 【问题描述】:

我正在尝试在 Cakephp 3.4 中创建一个动作来接收 AJAX POST 请求。 GET 请求正常。

我已添加到我的控制器:

public function beforeFilter(Event $event)

    $this->Security->setConfig('unlockedActions', ['fileUpload', 'openinghoursPlaces']);

如https://book.cakephp.org/3.0/en/controllers/components/security.html中所述

但什么都没有,它在 POST 请求上返回 403。

我的操作 openinghoursPlaces 实际上返回一个“OK”字符串。

谢谢你帮助我。

【问题讨论】:

【参考方案1】:

403 表示未经授权的操作,因此首先将您的操作标记为公开

$this->Auth->allow(['fileUpload', 'openinghoursPlaces']);

如果它有效,请查看您的“isAuthorized”操作 (Appcontroler.php),如果请求已发布,请确保您不会重定向到未经授权的操作。

【讨论】:

以上是关于CakePHP 3 AJAX POST 不允许并返回 403的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 中的 Ajax 错误处理

Cakephp FormData Ajax 文件上传

jQuery .ajax() POST 请求抛出 405(不允许的方法)但 GET 不会

带有ajax jQuery的405(不允许方法)(POST)方法

执行 AJAX POST 时不允许使用的关键字符 [重复]

Laravel 5.1 AJAX - 即使我发送 POST 请求,也不允许返回 405 GET 方法