1

したがって、GETフォームは通常のURLを次のようにします

.../search/?q=apple

次のような URL を作成するフォームを作成できますか

.../search/q:apple/
4

3 に答える 3

3

みんなありがとう。別の解決策を見つけました。フォームを POST として送信するだけで、コントローラーのアクションで投稿データを読み取り、投稿データを params という名前で使用して URL を作成し、次に $this->redirect('...'); を作成します。それに。

于 2010-03-13T11:27:35.627 に答える
2

私があなたを正しく理解しているなら、あなたはそれ自体が別のURIを作成することを望んでおらず、むしろ別の方法でフォームデータをシリアル化することを望んでいます。つまり、URI自体ではなく、クエリ文字列を変更することに関心があります。

私の知る限り、これがフォームがデータをシリアル化する方法であり、この動作を真にオーバーライドする方法はありません。本当にこれを実行したい場合は、送信イベントをキャプチャし、フォームデータを必要な形式に手動でシリアル化し、その形式をフォームのaction値に追加し、ページにカスタムリクエストを作成する必要があると思います(location.hrefなどを介して) 。)そしてfalse、フォーム自体が実際に送信されないように戻ります。

もちろん、もう少し制御できるAjaxを介して送信することもできます。

私はあなたが求めていると思うことをする他の方法を知りません。

于 2010-03-11T18:45:31.710 に答える
2

これらの URL を作成する方法は、http: //book.cakephp.org/view/842/urlにあります。

于 2010-03-11T14:13:43.567 に答える