こんにちは私はユーザーがページwww.somedomain.comにとどまり、いくつかのデータを挿入し、ajaxが応答をもたらすいくつかのajaxコードを書きました。応答が来たら、URLをwww.somedomain.com/responseに変更したいのですが、ブラウザーは引き続きwww.somedomain.comページのコンテンツに留まります。したがって、ページは変更されませんが、URLのみがわずかに異なります。また、index.htmlをURLに表示したくありません。
質問する
150 次
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 つのイベントを処理する必要があります。
- OnRequestStart
- OnResponseEnd
最初のメソッドは Ajax リクエストの開始と同時に呼び出され、2 番目のメソッドは ajax リクエストが完了状態になったときに呼び出されます。
したがって、このハンドラー メソッドでは、ブラウザーの UL を変更できます。
于 2012-11-12T14:21:19.307 に答える