2

こんにちは私はユーザーがページwww.somedomain.comにとどまり、いくつかのデータを挿入し、ajaxが応答をもたらすいくつかのajaxコードを書きました。応答が来たら、URLをwww.somedomain.com/responseに変更したいのですが、ブラウザーは引き続きwww.somedomain.comページのコンテンツに留まります。したがって、ページは変更されませんが、URLのみがわずかに異なります。また、index.htmlをURLに表示したくありません。

4

2 に答える 2

2

古いブラウザーをサポートするには、ハッシュ ナビゲーションを使用できます。

JavaScript でハッシュ/アンカーの変更履歴を保持する

最新のブラウザーでのみ実行したい場合は、HTML 5 History API を使用できます。

http://diveintohtml5.info/history.html (リンクは Christian Varg に感謝)

于 2012-11-12T15:08:06.483 に答える
1

明らかに、HTML5 History APIを使用してブラウザーの URL を変更できますが、この場合、Ajax 応答の URL を変更する必要があるため、クライアント側で Ajax イベントを処理する必要があります。つまり、Ajax レスポンスの開始時に URL を変更し、Ajax レスポンスの終了時に元の URL に戻す場合、Ajax の 2 つのイベントを処理する必要があります。

  1. OnRequestStart
  2. OnResponseEnd

最初のメソッドは Ajax リクエストの開始と同時に呼び出され、2 番目のメソッドは ajax リクエストが完了状態になったときに呼び出されます。
したがって、このハンドラー メソッドでは、ブラウザーの UL を変更できます。

于 2012-11-12T14:21:19.307 に答える