2011-07-04 18 views
2

Apache Wicketでは、ページをリダイレクトまたはリロードせずにAJAX呼び出しを現在のページURLに変更する方法はありますか?例えばWicketを使用してAJAX経由でURLを変更しています

、我々はURLであると言う:

私はAjaxのリンクをクリックしたときに、いくつかのアクションが実行され、へのURLが変更されて、言うことを希望:

localhost:8080/otherUrl 

リダイレクトせずに、ブラウザに表示されているURLを変更するだけです。 これも可能ですか?

ありがとうございます!
マヌエル

+1

ため、あなたはそれについて考える場合は、ブラウザがこのような何かを許可されている場合、それは大規模なセキュリティ上の欠陥になります。 – biziclop

+0

hehe、あなたは正しいです... –

答えて

3

あなたがJavaScriptで変更することができ、URLの一部のみが、あなたはlocalhost:8080/#/someUrl

localhost:8080/#/otherUrlにこれを行うに変更することができますハッシュ

ですwith window.location.hash

この概念を使用してディープリンクURLを許可するフラッシュサイトの例を示します。http://www.2advanced.com

+1

@ martin-gがヒストリAPIで達成できる答えであるので、アドレスバーのURLを変更することができます – spuas

+0

この行は、window.history.pushState( " "、" "、url); 私は、httpリンクに古いURLの代わりに新しいURLのパラメータを使用するように強制する方法にもっと興味があります。 – karate

+0

この質問の日付は@AzatMartirosyanでしたか? HTML5は本番環境では使用されませんでした。 – AlienWebguy

0

いいえ、それはありません。ブラウザで場所を変更すると、そのURLに対して新しい要求が行われます。

(あなたがやるwindow.location.href = newUrlが、ページをリロードしていること)

3

実際にできます! しかし、これはWicketにはまったく関連していません。 これは、HTML5の新しい履歴APIについてです。 Googleで「html5 History API example」を検索して楽しんでください。

関連する問題