【发布时间】:2014-08-25 15:44:13
【问题描述】:
通常,进行 ajax 调用相当简单。您只需解锁控制器中的操作并在您使用 ajax 的函数中指定:
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
$this->Auth->allow(['checkUsername']);
$this->Security->unlockedActions =['checkUsername'];
}
public function checkUsername() {
$this->request->allowMethod(['ajax']);
// ...
}
不幸的是,在 CakePHP 3 中,这给了我下面的黑洞错误作为响应:
code: 400
message: "The request has been black-holed"
url: "/users/checkUsername.json"
当它是 /users/checkUsername(而不是 .json,这是其他地方推荐的解决方案)时,它也以相同的方式工作。有什么想法吗?
【问题讨论】:
-
嗯,它应该像在 2.x 中一样工作。当您停用 Sec 时,它确实有效。组件一起,对吧?
-
实际上,取出安全组件会破坏整个站点。这是怎么回事,也许这是问题的一部分......?
标签: ajax cakephp cakephp-3.0