CakePHP-控制器删除操作不接收Post数据

CakePHP-控制器删除操作不接收Post数据,cakephp,Cakephp,我似乎遇到了一个问题,控制器没有收到通过postLink表单帮助程序发送给它的post数据 我有多个控制器,所有这些控制器似乎都能正常运行,但是,这个特定的控制器不会 我尝试过调试,发现删除操作似乎没有收到任何Post数据 查看后链接代码: echo $this->Form->postLink(__('Delete'), array('controller' => 'tokens', 'action' => 'delete', $data['token']['id']),

我似乎遇到了一个问题,控制器没有收到通过postLink表单帮助程序发送给它的post数据

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

我尝试过调试,发现删除操作似乎没有收到任何Post数据

查看后链接代码:

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方法生成的链接会阻止post数据可用


我愿意接受任何建议/问题/帮助,这快把我逼疯了

经过8个小时的漫长工作,我终于找到了原因

处理表单的javascript函数将零(0)视为null,因此,当var存在且设置为isset时,不会传递任何值


如果有人知道/了解更多,请分享

@AD7six如果您认为我不清楚,请在否决投票前给我一个澄清自己的机会。由于postLink是CakePHP的一个助手函数,我现在没有时间深入研究它,所以我不知道它是如何传递的。我广泛地使用我的浏览器工具,表单与相应的JS一起正确地“形成”。接收方法显示post var与isset一起存在。当传递一个零时,var中没有值,但是任何大于0的值都会注册为一个值。这实际上就是stackoverflow的工作原理。查一查塔克提奎特。如果有人似乎对CakePHP有着丰富的经验,并且回答了与你一样多的问题,那么他就会轻视他人,而不是提出真正的问题来帮助此人找到根本原因,这是非常令人失望的。我显然不明白当时发生了什么,正在寻求帮助。我建议,将来你与那些对某个主题了解程度可能不如你的人进行不同的接触。此外,作为一名CakePHP用户,以你的经验水平,你应该熟悉postLink以及上面代码中的操作方式。抱歉,但不是这样,你可以阅读更多关于投票的内容,我给出了一个评论,为什么我在这里投票给这两个帖子,以提示您编辑它们。这件事还没有发生,我很抱歉你把我的行为当成了一次人身攻击。祝你的应用程序/未来的问题好运。只是说一些事情并不能让它成为现实。在发表评论之前的几年里,我熟悉并刷新了stackoverflow的工作方式。这绝对是它的工作原理。我编辑了我的评论,你撒谎了。不幸的是,我可以编辑他们无数次,但没有方向,我不知道你在寻找什么。事实上,你的评论没有给出具体的方向,只是批评,根本没有建设性。我经常欢迎建设性的批评,现在仍然会。不幸的是,您选择删除您的评论。这是由帮助器方法postLink
生成的-它只提交一个没有数据的表单。这个答案毫无意义。