0

私はAPIを構築したいので、今は完全に混乱していますが、ケーキは少し奇妙な動作をしています:

たとえば「/controller」に POST リクエストを送信したい場合、「/controller/index」(「controller」の「index」メソッド) にリダイレクトされます。しかし、POST リクエストの代わりに、そこに GET リクエストを受け取ります。

(たとえば、リクエストのメソッドを出力する $this->request->method() を出力します)

前に出くわした人?「構成」の下のroutes.phpで「/コントローラー」を「/コントローラー/インデックス」にルーティングしようとしましたが、うまくいきませんでした。

どうもありがとう、

ファビ。

4

1 に答える 1

4

あなたが説明しているのは、ケーキの仕組みではありません。への Post リクエストは、どのコア コード/fooからもリダイレクトされません。/foo/indexまた、デフォルトでは、これらの URL は両方とも同じコントローラー アクションである index にマップされます。

問題を見つける

これをアプリコントローラーに一時的に配置することで、リダイレクトの問題を簡単に特定できます::

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

これにより、コードが呼び出されたときにリダイレクト メソッドに到達する方法を示すスタック トレースがダンプされます。/controllerへのリダイレクトの原因がわかれば/controller/index、実際の問題に注意を向けることができます。

明らかに、どのような種類のリダイレクトでも、投稿リクエストが get リクエストに「変換」されることに注意してください。これは、リダイレクトを発行し、php から同時に投稿データを送信することはできないためです。

于 2013-01-09T21:33:17.400 に答える