2011-12-05 19 views
0

を行っているこれは説明するのは少し長いですので、私は短いそれを維持しようとするでしょう:は当時、ページに要素を追加し、別のページに移動した後、追加要素が

私はフォームを送信していますユーザーのリストを返すと、返されたユーザーとの間で空白を作成し、再入力します。これは、ユーザーを追加してから別のページを参照してから前のページに戻ってから、新しいユーザーを追加する前にそのユーザーのリストをロードするまで、期待どおりに機能します。更新すると、ユーザーリストにユーザーの一覧が正しく表示されます。

いくつかの擬似コード:

... function to add a user, then return success ... 
$("ul#userTab").empty(); 
for(user in data['users']){ 
    $("ul#userTab").append("<li>"+user+"</li>"); 
} 

私は戻るボタンを使用したら、ブラウザが最初のページの読み込みをキャッシュされているかのように思えるが、私は本当に知りません。どんな助けもありがとうございます。

EDIT:明確にするために、データをサーバーに送信し、データベースに保存してから、データベースからユーザーを戻します。私はページに任意の値を加えて、それを再読み込みしてなぜそこにないのだろうと思っているだけではありません。

答えて

2

ブラウザは、ページリダイレクトの間に操作するDOMを維持しません。ページのリダイレクト間でページの状態を維持するには、履歴管理プラグインを使用するかiframeを使用する必要があります。

これらはあなた

http://www.asual.com/jquery/address/

http://benalman.com/projects/jquery-bbq-plugin/

http://plugins.jquery.com/project/history

http://benalman.com/projects/jquery-hashchange-plugin/

http://code.google.com/p/reallysimplehistory/

役立つかもしれませんが、下記のリンクのいくつかを見てみましょう210
1

サーバーがブラウザに送信する情報がページにロードされます.JavaScriptによる変更はサーバー上ではなくクライアントブラウザでのみ行われるため、サーバーからページを再読み込みするときには同じですサーバーが送信したものです。

変更を永続的にするには、AJAXを使用してサーバーに変更を送信するか、クライアント側をセッションまたはCookieに保存する必要があります。

+0

私の編集を参照してください。私は、サーバーにデータを送信してから、データベースからデータを返します。 – Samsquanch

0

明白な答えは、動的に要素をDOMに追加し、ページを書き換えないことです。結果を保存したい場合は、結果をクッキーに追加し、クッキーがロード時に存在するかどうかを確認し、それに応じて表示することを検討する必要があります。

document.cookie = 'users = html_results here; expires = Thu、2001年8月2日20:47:11 UTC;パス=/';

関連する問題