通过Ajax加载CakePHP表单(视图)

时间:2013-08-14 23:50:47

标签: php jquery ajax cakephp

基本上,通过CakePHP的MVC工作流程的平均MVC流程就像这样“添加东西”

  1. 在我们的“SomethingController”上调用“添加”
  2. 收到“add.ctp”(我们的表格)
  3. 填写并将其发回给我们的“SomethingController”
  4. 然后重新加载“index.ctp”以显示我们新的“Something”
  5. 所以在Controller中,if ($this->request->is('post'))告诉控制器要做什么(给出表单或保存数据)。

    这是我的问题:我想制作100%基于Ajax的应用程序,当我尝试收集表单(“add.ctp”)时,控制器总是将其作为post获取,所以它永远不会发送给我我的表格。有没有办法可以通过一些Ajax流程获取表单,然后使用<form>将数据发回控制器?

    P.S:我已经尝试了$.post$.get两种方法。

2 个答案:

答案 0 :(得分:0)

您不能只检查帖子请求中的数据吗?

$this->request->data

如果它是空的,你知道你应该返回一个新表格。如果它不是空的,请保存它,并做任何你必须做的事情。

PS - 如果您还不知道它,您可能也对此功能感兴趣:

if ($this->request->is('ajax'))

答案 1 :(得分:0)

您可以使用

if ($this->RequestHandler->isAjax() ) {}

区分普通和Ajax调用。