当类型为POST时,cakephp Ajax表单不起作用

当类型为POST时,cakephp Ajax表单不起作用,ajax,forms,cakephp,post,prototypejs,Ajax,Forms,Cakephp,Post,Prototypejs,我使用CakePHP1.1开发了一个站点,它有很多ajax元素,可以同时更新多个元素,并且工作得很好。现在,我正在迁移到CakePHP1.3,但我没有这么好的经验 多亏了这一点,我能够更新多个div,但很快我又陷入困境 我当前的问题是ajax表单没有完成对url“/logs/logIn”(“/controller/action”)的请求 提交表单后,Firebug向我显示一个错误:“POST 404 not found”,请求在prototype的函数request()中被中断,第1530行:

我使用CakePHP1.1开发了一个站点,它有很多ajax元素,可以同时更新多个元素,并且工作得很好。现在,我正在迁移到CakePHP1.3,但我没有这么好的经验

多亏了这一点,我能够更新多个div,但很快我又陷入困境

我当前的问题是ajax表单没有完成对url“/logs/logIn”(“/controller/action”)的请求

提交表单后,Firebug向我显示一个错误:“POST 404 not found”,请求在prototype的函数request()中被中断,第1530行:

this.transport.send(this.body);
当我直接在浏览器中编写url时,该站点似乎如我所期望的那样工作。当我将表单的类型从“POST”更改为“GET”时,ajax请求就完成了,响应就是我所期望的,但我确实需要使用“POST”来完成

我已经阅读了很多论坛,其中讨论了类似的问题,但没有任何建议可以帮助我解决问题:

  • 我已经检查了我的hhtp.conf和.htaccess文件,根据安装说明,它们似乎没有问题(但我不确定)
  • 我请求的操作没有使用任何视图(事实上,“GET”和direct url requets函数,不需要log_in.ctp视图文件),我在尝试“POST”ajax请求时创建了相应的视图,但它仍然不起作用
我正在使用scriptaculous和Prototype.js(1.7)的最新版本,我正在ubuntu上使用Firefox 3.6.17


很多人都会提前向我请教任何技巧、小费、建议或你能帮我做的任何事情。

我终于把问题解决了。这与蛋糕的安全部分有关

我所做的只是将$validatePost变量设置为false

我知道post validation应用于第三方帖子,但似乎cake会对enery post请求进行验证,即使是源自principal应用程序的请求