2011-08-07 22 views
0

こんにちは私は以下のスクリプトを持っています:基本的に私は日の間にナビゲートするためにcurrentDateを増減するナビゲーションアンカー "次"と "前"を持っています。これは、ページがロードされると変数currentDateをリフレッシュできないことを意味します。この変数は、その状態を維持すべき静的変数のようにするべきですが、Ajax呼び出しが戻ったときに、この変数は毎回新しいDate()に更新されます。JavaScriptのグローバルな状態を維持する方法は?

<script> 
var currentDate = new Date(); 

$(document).ready(function() { 
//ajax call to retrieve some values from the server 
}); 
</script> 

各ajax呼び出しで更新されないグローバル変数を宣言できますか?あるいは、このような状況でサーバーから更新された日付を取得する方が良いでしょうか?あるいは、私はこの状況を間違って扱っていますか?

ありがとうございます!

答えて

2

グローバルなjavascript変数は、通常、AJAX呼び出しが返されるため、「new Date()」にリセットされません。ページが更新されるとにリセットされます。 windows.locationコールや、ページを更新するAJAXリターンハンドラ内に何かがありませんか?

+0

そうです、アンカータグからhref属性を削除する必要がありました。 – Mayumi

1

currentDateは、各ajax呼び出しで変更されません。そうであれば、別の場所に設定されているか、ページ自体がリフレッシュされています。

1

ブラウザの再読み込みの間は状態が維持されません。しかし、あなたのデータを保持する可能性の束があります、そしてそれらをページの読み込みに再び読んでください。 (ほとんどのウェブサイトが行うように)データストアとしてWindowsページ名を使用してへの書き込みやクッキーから読み取ることによって、

  • (のみHTML5用)JavaScriptのローカルストレージを使用して
    • :あなたは、データを格納することができます。これは私の意見では、(Gmailなどのアプリケーションが行うような)ものを永続化するドキュメントのこれらのトピックにたくさんのそれぞれに

    をサーバーを使用して

  • :-)最も不気味な解決策がそこに利用可能となっています。

  • 関連する問題