ajax и локальный / сессионный шаблон хранения - PullRequest
0 голосов
/ 22 ноября 2011

Я создаю веб-приложение, которое использует ajax для связи с сервером.По сути, пользователь запрашивает запись, возвращается в json, добавляется в DOM, и пользователь вносит в нее изменения.Когда пользователь запрашивает следующую запись, текущая запись переводится в строку и отправляется обратно на сервер, и возвращается следующая запись:

Все это работает действительно хорошо .... до тех пор, пока пользователь продолжает запрашивать записи.Однако мне интересно, как справиться с ситуацией, когда пользователь прекращает свою работу: как мне обновить последнюю запись?

Я думал о добавлении рабочей записи в локальное хранилище, когда он редактирует ее и на каждомотредактируйте, обновите локальное хранилище, и если он войдет в систему в следующий раз, и там по-прежнему будет запись, подпишите его при входе в систему.Проблема с его подходом состоит в том, что если другой пользователь входит в систему на том же компьютере, то, когда этот новый пользователь входит в систему, он обновляет данные другого пользователя.

Я также подумал об использовании события window.unload;но это не решает проблему того, что пользователь закрывает свой браузер перед финальным обновлением.

Какие есть хорошие способы справиться с этой проблемой.Спасибо за ваши предложения.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

Я бы рассмотрел черновую функцию. Если вы можете загрузить изменения через определенное время без ввода данных, например, после 15 секунд отсутствия ввода, нажмите эти изменения.

0 голосов
/ 22 ноября 2011

Если вашему приложению требуется вход в систему, вы можете ввести localStorage, используя их идентификаторы, например:

localStorage.getItem( "user13434" )

будет получать данные для user13434

localStorage.getItem( "user12345" )

будет извлекать данные для пользователя12345

Если информация конфиденциальна, но не слишком чувствительна, вы можете добавить шифрование, но ее могут расшифровать опытные пользователи, поэтому она не должна быть слишком чувствительной.

...