CakePHP - 控制器删除操作无法接收发布数据

时间:2016-12-05 00:41:38

标签: cakephp

我似乎遇到了一个问题,我的控制器没有收到通过postLink表单助手发送给它的帖子数据。

我有多个控制器,所有这些控制器似乎都运行正常,但是,这个特定的控制器不会。

我试图调试,并且发现删除操作似乎没有收到任何Post数据。

查看postLink代码:

echo $this->Form->postLink(__('Delete'), array('controller' => 'tokens', 'action' => 'delete', $data['token']['id']), null, __('Are you sure you want to delete this data?'));

控制器代码:

public function delete($id = null) {
    $this->request->allowMethod(['post', 'delete']);

    if (!$this->request->is('post')) {
       throw new MethodNotAllowedException();
    }

    $this->Token->id = $id;
    if (!$this->Token->exists()) {
       throw new NotFoundException(__('Invalid Token'));
    }

    if ($this->Token->delete()) {
        $this->Session->setFlash(__('The token has been deleted.'));
    } else {
        $this->Session->setFlash(__('The token could not be deleted. Please, try again.'));
    }

    $this->redirect(array('controller' => 'accounts', 'action' => 'addToken'));
}

我真的不确定我哪里出错或者是什么原因造成的,我一直在绞尽脑汁,整天测试不同的理论,但似乎没有任何改变。所有组件,助手等都以与其他控制器相同的方式加载。

非常感谢任何帮助!

(CakePHP版本2.6.2)

修改 看起来会有一些会话重定向,Cake正在将我重定向到/ accounts / users / sessionStatus。

我不知道为什么会这样。

修改 在进一步挖掘之后,我注意到当我直接将URl输入地址栏时,一切都按预期工作,但是,点击postLink方法生成的链接可以防止帖子数据可用。

我对任何建议/问题/帮助持开放态度,这让我发疯了!

0 个答案:

没有答案