веб-приложение, лучший способ обработки состояния - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть несколько грубых страниц, для которых мне нужно хранить некоторую информацию о состоянии, такую ​​как текущая страница, записи на странице, текущий порядок, условия фильтрации и иногда намного больше информации ...

Я бы хотелиспользовать дружественные URL, похожие на стиль отдыха, что-то вроде http://microformats.org/wiki/rest/urls (GET для просмотра, POST для добавления, PUT для редактирования, DELETE для удаления)

Проблема с файлами cookie заключается в том, что если я открою нескольковкладки, все они будут использовать одни и те же файлы cookie, то же самое с сеансом, потому что идентификатор сеанса хранится в файле cookie

, если я пытаюсь сохранить эти параметры в URL (что-то вроде страницы GET / clients?= 1 & len = 10 & sort = name & filter = smith) как только я выдаю сообщение POST, я теряю эти значения

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

так, как вы обрабатываете состояние веб-презентации ???

-

добавлено:

будет МоКонкретно

У меня есть страница crud, пользователь может фильтровать, изменять страницу, длину страницы и порядок сортировки.

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

единственное решениеЯ могу думать, это использовать скрытые поля ...

Ответы [ 3 ]

1 голос
/ 18 февраля 2011

Если вам не нужны файлы cookie и сеансы, единственный вариант - передать их в виде параметров строки запроса (в GET) и скрытых полей (в форме POST).

1 голос
/ 18 февраля 2011

при уточнении

В чем проблема хранения разных пар ключ-значение для разных страниц? Например, для страницы /product/4 можно хранить ключи product-4-order, product-4-filter и т. Д.

Или я скучаю по твоему намерению?

редактировать
Другая альтернатива - не обновлять текущую страницу полностью и выполнять все манипуляции с AJAX. Однако настройки не будут сохраняться между сеансами.

1 голос
/ 18 февраля 2011

Думаю, вам придется выполнить оба ваших предложения.

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

...