Nano Hash - криптовалюты, майнинг, программирование

веб-приложение, лучший способ обработки состояния

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

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

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

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

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

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

--

добавлен:

чтобы быть более конкретным

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

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

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


Ответы:


1

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

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

18.02.2011
  • вы имеете в виду, что все это должно быть скрыто как при вводе, так и в строке запроса... Я пытался избежать дублирования усилий... 18.02.2011
  • Да, это то, что я имею в виду... На самом деле это не дублирование усилий, поскольку в любом случае вам нужно поместить эти параметры в сгенерированный HTML. Единственная разница в том, что в одних местах их нужно будет поместить в строку запроса, а в других — в виде параметров формы. Я предполагаю, что если вы используете веб-фреймворк, который обрабатывает параметры в строке запроса отдельно от параметров, которые входят в состав POST или PUT, у вас может быть дополнительная работа? 18.02.2011
  • вы правы, я мог бы разработать некоторую функцию, которая прозрачно обрабатывает это, сохраняя и загружая их в URL-адрес или скрытый ввод соответственно... 18.02.2011

  • 2

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

    18.02.2011

    3

    по разъяснениям

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

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

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

    18.02.2011
  • проблема в том, что пользователь может открыть одну и ту же страницу на двух разных вкладках... они будут использовать одни и те же файлы cookie и сеанс 18.02.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..