Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Сверка контекста у клиента и на сервере?


Автор: Gold Dragon 24.6.2011, 07:31
При загрузке страницы клиенту поступает определённый контекст. По определённому событию этот контент нужно сверить с контентом на сервере. ну, например, добавились или изменились данные в базе.

Как это организовать не отправляя контент на сервер для сверки или не получая его с сервера?

Мне в голову приходит получить хэш контента.. но как сделать это в javascript...

Автор: Котокобра 24.6.2011, 12:45
Gold Dragon, как опознать факт изменения контента?

Автор: Gold Dragon 24.6.2011, 13:04
так это я задал такой вопрос? smile

сверка происходит или через определённый промежуток времени или по клику...

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

В PHP я бы просто преобразовал статью (т.е. кусок HTML-кода) в хэш (MD5) и отправил запрос только с полученным хэшем.. В самом бы скрипте сравнил.. Просто пересылать для сравнения сам контент не очень практично и экономично

Автор: нуп 24.6.2011, 13:27
Сделать кнопочку сохранить, и пусть юзер сам решает, нужно ли что-то изменять  smile 

Автор: Gold Dragon 24.6.2011, 13:34
нуп, и что? Ты суть то понял?

База данных меняется не зависимо от пользователя и он только смотрит. Ты что, не умеешь пользоваться интернетом и не знаешь как показываются сайты? Ты же не можешь изменить информацию на сервере

Автор: нуп 24.6.2011, 13:46
Омеге! Зачем сравнивать текст? Не проще тогда сделать поле с датой последнего изменения, и сравнить дату? 

Автор: Gold Dragon 24.6.2011, 13:56
нет. Во-первых, дата должна оставаться всегда одной, а дополнительное поле просто вводить не целесообразно. Во-вторых, если ты в тексте, к примеру исправил орфографическую ошибку, то какой смысл менять дату? хронология нарушится

Автор: Котокобра 28.6.2011, 13:59
Gold Dragon, я подумал, что тебе нужно сохранять данные в базу, если они были изменены. поэтому уточнил. оказалось, наоборот, выгружать из базы.

здесь я согласен с нупом: раз факт редакции для тебя важен, его нужно как-то фиксировать в базе, то есть ввести дополнительное поле. луче же сравнить дату последнего изменения, чем гонять по сети всю статью с одной исправленной запятой?)) так что твои танцы с бубном не понятны.

Автор: Gold Dragon 28.6.2011, 15:20
а есть в JS преобразовать контент в MD5 и его отправить, а на сервере сверить? В JS вообще есть такая возможность?

Автор: Котокобра 29.6.2011, 11:54
Gold Dragon, не знаю... я тут подумал, может тебе на сервере создать сессионную БД и копировать туда отправленный контент? короче говоря, тут нужно использовать принцип чата, добавление новых сообщений. в твоем случае - замена в тексте. куда-то туда наверно надо копать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)