Как сохранить состояние глобальной жизнеспособности в JavaScript? - PullRequest
0 голосов
/ 07 августа 2011

Привет У меня есть скрипт ниже: В основном у меня есть навигационные привязки «next» и «prev», которые увеличивают или уменьшают currentDate для навигации между днями.Это означает, что переменная currentDate не может обновляться после загрузки страницы.Эта переменная должна быть похожа на статическую переменную, которая должна поддерживать свое состояние, однако, когда возвращается вызов ajax, эта переменная обновляется каждый раз до новой функции Date ().

<script>
var currentDate = new Date();

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

Можно ли объявить глобальную переменную, которая не обновляется при каждом вызове ajax?Или лучше получить обновленную дату с сервера в этой ситуации?Или я неправильно справляюсь с этой ситуацией?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 07 августа 2011

Глобальная переменная javascript обычно не сбрасывается до " new Date () " просто потому, что возвращается вызов AJAX. будет сброшено, если страница обновлена.Вы уверены, что в вашем обработчике возврата AJAX, который обновляет страницу, нет вызова windows.location или чего-то еще?

1 голос
/ 07 августа 2011

Состояние не поддерживается между перезагрузками браузера.Но есть множество возможностей сохранить ваши данные, и снова прочитать их при загрузке страницы.Вы можете хранить данные:

  • , используя локальное хранилище JavaScript (только для HTML5)
  • , записывая и считывая файлы cookie (как это делают большинство веб-сайтов)
  • используя Windows PageName в качестве хранилища данных.Это, на мой взгляд, самое жуткое решение: -)
  • с использованием сервера для сохранения содержимого (как в таких приложениях, как Gmail)

По каждой из этих тем достаточнодокументации доступно там.

1 голос
/ 07 августа 2011

currentDate не будет меняться при каждом вызове ajax. Если это так, то либо он устанавливается где-то еще, либо обновляется сама страница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...