cakePHP:/重定向到/ index但发送get而不是post请求

时间:2013-01-09 21:06:26

标签: cakephp post request requesthandler

我现在完全糊涂了,因为我想建立一个api,但蛋糕有点奇怪的行为:

如果我想发送一个POST请求让我们说“/ controller”,它会被重定向到“/ controller / index”(“控制器”的“索引”方法),这正是我所期待的。但是,我在那里得到了一个GET请求,而不是POST请求。

(例如,我输出$ this-> request-> method(),它打印出请求的方法)

之前遇到过这种情况的人?我尝试在“Config”下的routes.php中将“/ controller”路由到“/ controller / index”,但是这也没有用。

非常感谢,

法币。

1 个答案:

答案 0 :(得分:4)

你所描述的不是蛋糕如何运作。对/foo的发布请求不会被任何核心代码重定向到/foo/index。此外,默认情况下,这两个URL都映射到相同的控制器操作:index。

发现问题

您可以通过暂时轻松识别重定向问题,将其放入您的应用控制器中::

function redirect($url) {
    debug($url);
    debug(Debugger::trace());
    die;
}

这将转储堆栈跟踪,指示代码在调用时如何获取重定向方法。一旦您知道将/controller重定向到/controller/index的责任,您就可以将注意力集中在真正的问题上。

请注意,显然任何类型的重定向都会将您的帖子请求“转换”为获取请求 - 因为您无法从php发出重定向并同时提交帖子数据。