したがって、GETフォームは通常のURLを次のようにします
.../search/?q=apple
次のような URL を作成するフォームを作成できますか
.../search/q:apple/
したがって、GETフォームは通常のURLを次のようにします
.../search/?q=apple
次のような URL を作成するフォームを作成できますか
.../search/q:apple/
みんなありがとう。別の解決策を見つけました。フォームを POST として送信するだけで、コントローラーのアクションで投稿データを読み取り、投稿データを params という名前で使用して URL を作成し、次に $this->redirect('...'); を作成します。それに。
私があなたを正しく理解しているなら、あなたはそれ自体が別のURIを作成することを望んでおらず、むしろ別の方法でフォームデータをシリアル化することを望んでいます。つまり、URI自体ではなく、クエリ文字列を変更することに関心があります。
私の知る限り、これがフォームがデータをシリアル化する方法であり、この動作を真にオーバーライドする方法はありません。本当にこれを実行したい場合は、送信イベントをキャプチャし、フォームデータを必要な形式に手動でシリアル化し、その形式をフォームのaction
値に追加し、ページにカスタムリクエストを作成する必要があると思います(location.href
などを介して) 。)そしてfalse
、フォーム自体が実際に送信されないように戻ります。
もちろん、もう少し制御できるAjaxを介して送信することもできます。
私はあなたが求めていると思うことをする他の方法を知りません。
これらの URL を作成する方法は、http: //book.cakephp.org/view/842/urlにあります。