2011-12-07 8 views
0

だからここに私がする必要があります。jQuery ajax navigation? #

http://app.com/?this_is_similar_to_anchor 

デフォルトでは、私はwindow.location.hash使用し、ちょうどURLで物事を変更するには#を使用することができます。

は、私は、URLのこれらの種類で作業する必要があるWebアプリケーションを持っています。しかし、私は、いくつかのウェブサイトがハッシュの代わりに疑問符を使用していることに気づいた。そして、これが私の必要なものです。

なぜ私はそれが必要ですか?

#がサーバーに送信された後は何も送信する必要がありますが、ページが読み込まれるとajaxを使用して送信できません。

したがって、ページを処理するためには、アプリケーションが#の後に来ることが不可欠です。

これは私が使用する時点になったときですか?代わりに、サーバー側もそのサーバーにアクセスできます。

同様のクライアント側とサーバー側がこのパラメータを共有しています。

私はちょうど使用するさまざまな方法を試してみました:

window.location.href= 'add_parameter'; 
event.PreventDefault(); or return false; etc to stop the browser to actually change the URL. 

TLDR:私はこのURLを変更できるようにする必要があります。

www.site.com/?url1

にこの場で

www.site.com/?url2

、リロードなし#を使用しないでください。 (またはTO#に変換する方法?)

おかげで、

+0

'しかし、一度ページが読み込まれるとajaxを使用して送信できません。なぜajaxを使用できませんか? – PeeHaa

答えて

1

はこれを見てください:

history.pushState(stateObj, "page 2", "bar.html"); 

Manipulating Browser Histroyを参照してください。

ただし、ページをリロードしないため、ブラウザに情報が送信されません。ただし、ページをリロードする必要がない場合は、AJAXを使用する必要があります。できない場合は、フォームを非表示のiframeに送信することもできます。