通常表单是POST,但在单个实例中它是GET

时间:2013-12-23 12:31:53

标签: cakephp

我在我的应用程序中执行标准模式 - 指向/ controller / delete / object_id的链接,然后是“确认”的帖子表单,检查$ this-> request->是否('post')和如果为true - 控制器从数据库中删除对象。

奇怪的是,对于单个特定的object_id,我的浏览器(Firefox)强制该表单为GET表单。使用任何其他object_id一切正常,但是使用这个特定的,尽管在表单标签等中都有声明,但是brower会生成一个GET请求。

你有什么想法吗?!我甚至尝试使用浏览器的私有模式,因为我认为它可能是浏览器缓存中的一些垃圾,但错误仍然在这里。

1 个答案:

答案 0 :(得分:0)

我设法绕过了这个问题:

  1. 在表单中定义特定操作 - >创建,指向控制器的方法
  2. 使用object_id
  3. 添加隐藏字段
  4. 在控制器方法中添加一些额外的代码,以从$ this-> request->数据中获取object_id,因为隐藏的post字段不作为参数传递给方法,就像使用GET方法一样。
  5. 这种方式,由于一些未知的原因,它只是有效。无论如何,我仍然觉得我做错了什么。它并不像我期望的那样“干净”。