0

ここで実行されている検索機能がありますhttp://www.ssaib.co.uk/security-provider-search/完全に正常に機能し、結果セットが得られます。ただし、結果を選択して [詳細] をクリックすると結果が表示され、投稿を再送信する代わりにページが壊れてしまいます。これについての言及がどこにも見つからないようです。

どんな助けでも大歓迎です

4

2 に答える 2

1

ブラウザは何をお使いですか?

テストしたところ、最新の Chrome、Firefox、Opera、Safari、Internet Explorer で動作します。戻ると、再び検索結果が表示されます。

編集:

2 つのオプションがあります。

初め:

  • POST の代わりに GET 変数を使用して検索を送信します。検索エンジンも検索結果をクロールできるため、これははるかに優れています。

2番:

それでも POST を使用したい場合、スマート検索システムは次のように POST リダイレクトを取り除きます。

  • 「search.php」(または使用している任意のもの)のターゲット URL を持つフォーム
  • search.php に送信したら、データベース検索を実行し、その検索に一意の「ID」を割り当てます。
  • 次に、search.php は、URL (「/searchresults/23442/」など) または GET 変数 (「/searchresults/?id=23442」など) に一意の ID を持つ「/searchresults/」ページ (または同等のページ) にユーザーをリダイレクトします。 )。そのページでは、search.php スクリプトで見つかった検索結果がユーザーに表示されます。
  • これは、ユーザーが「戻る」をクリックすると、検索結果ページに戻ることを意味します。これには、ユーザーが「戻る」をクリックするたびにデータベースを再度検索する必要がないという利点もあります。ブラウザは、ヘッダーを介してリダイレクトされた URL に戻ることはないため、ユーザーが 2 回戻っても何も壊れません。
  • しばらくすると、データベースからの「古い」検索を無効にするか、ユーザーがまったく同じ ID を再度要求した場合にそれらを再生成する必要があります。
于 2012-05-02T10:27:38.233 に答える
0

GET検索に使用する必要があります。POSTただし、を使用する場合は、常に(私の意見では) Post/Redirect/Getを使用する必要があります。SESSIONこれには通常、リダイレクト間で状態を維持するために を使用する必要があります。

于 2012-05-02T11:37:06.857 に答える