検索ページの遷移に関してメモ。
基礎だが実際全部完全に網羅できているかというと不安な部分が多い。
基本仕様: 以下のようなページ構成を想定
- 1ページ目は検索エリアと一覧が同時にでる
- 一覧情報からはリンクで詳細画面に移動できる
- ページャ―は1ページあたりいくつのリンク形式(インフィニティスクロールではない)
想定しないといけない遷移状態
- 詳細ページから戻った時の検索状態の検索&ページャーの保存
- 戻るのは戻るボタン&history.back
- ページャーで1ページ目に移ったときに検索情報が保存されているか
- パンや別リンクなどでうつったときにセッションやページャーがクリアされているか
よくある実装
- 検索情報はGETで送り、セッションに保存する
- 2ページ目以降はページ番号をGETで送り、検索情報はセッションで引き回す ※検索も含めてhiddenなどにいれて全てGETで回すということをすることもあり
- 再検索された場合や、パンくずやリンクなどの場合、セッションを消す(ココが忘れやすいので注意)
- リクエスト句(この場合GET)はセッションに常に優先する
- 会員サイトなどだとPOSTで送信する分、historyback対策がやや大変。すべてsessionからデータを引っ張ってくる
特にhistoryback対策が大変です・・・