У меня есть списки выбора HTML, которые позволяют пользователям искать элементы. У меня также есть простая реализация Ajax, которая обеспечивает фильтрацию, когда пользователи выбирают элементы - запускается при срабатывании события onchange элемента select , когда щелкают опции.
App. логика : пользователь выбирает элементы и нажимает «отправить» -> переходит на страницу результатов поиска.
Моя проблема заключается в том, что когда пользователь переходит назад [по кнопке браузера назад] с моей страницы результатов поиска к спискам выбора, выбор сохраняется, но фильтрация каким-то образом теряется. Я думаю, что это может быть связано с тем, что кеширование браузера разваливается?
например. Посмотрите мою страницу поиска по умолчанию.
Поиск продуктов питания Пищевые продукты по ингредиентам
Ингредиент
- Все ингредиенты *
- Хлеб
- Сыр
ТИПЫ ИНГРЕДИЕНТОВ
- Все типы ингредиентов *
- Сыр чеддер
- Белая булочка
- Белый сыр
- булочка из непросеянной муки
По умолчанию параметры " Все ингредиенты " и " Все типы ингредиентов " выбираются по умолчанию, когда страница поиска загружает страницу поиска.
Пример работы простого фильтра и сценарий проблемы при нажатии кнопки «Назад» в браузере.
Сценарий: пользователь затем выбирает хлеб, а вызов Ajax фильтрует второй список только для хлебных изделий. Затем пользователь выбирает белую булочку и нажимает кнопку поиска
Ингредиент
- Все ингредиенты *
- Хлеб
- Сыр
ТИПЫ ИНГРЕДИЕНТОВ
- Все типы ингредиентов *
- Белая булочка
- булочка из непросеянной муки
Затем пользователь просматривает результаты поиска, которые являются правильными, но при переходе назад с помощью нажатия кнопки браузера назад , это представленное представление. Выборы являются правильными и неповрежденными, однако фильтрация разваливается.
Ингредиент
- Все ингредиенты *
- Хлеб
- Сыр
ВИДЫ ИНГРЕДИЕНТОВ
- Все типы ингредиентов *
- Сыр чеддер
- Белая булочка
- Белый сыр
- булочка из непросеянной муки
Я использую xmlHTTP = new XMLHttpRequest () из моей реализации ajax.
Вопросы:
Буду признателен за ответы на вопросы:
- что вызвало это?
- Как я могу решить эту проблему?