Обработка полученного ajax ответа
Добрый день
Код:
.content { <div class="container"> <div class="header">header</div> <div class="content">content</div> </div> Используется jquery скрипт show/hide. Проблема при ajax обновлении. Если до этого блок был раскрыт, то при обновлении он схлопывается. Ответ приходит с блоком "content" display: none По факту происходит удаление предмета из корзины магазина, поэтому подобное поведение выглядит неуместно. Могу переписать скрипт с применением jquery cookie, чтобы можно было сохранить состояние. Хотелось бы узнать, как можно проверить обновлен ли блок ? Необходимо при получении ответа с блоком "content" display: none изменить его на display: block Были мысли по поводу триггеров. Задайте пожалуйста вектор направления, примеры реализации найду самостоятельно. Спасибо |
Цитата:
|
Цитата:
Тогда при первой загрузке любой страницы, корзина будет раскрыта, а она должна быть изначально свернутой. |
Какой вам код привести ?
jquery show/hide или вас интересует backend ? |
Цитата:
|
Как он должен знать ?
Вы серьезно или просто троллите ? |
Как вы задолбали со своими комплексами... :D
Цитата:
Прям не сервер, а всезнающая субстанция... |
Цитата:
Команда вызывается из колбека функции удаления товара. |
dts, так вот и пошли ему нужные сведения. Сервер пусть их обработает и ответит как нужно.
|
А не жирно на это целый запрос тратить ?
Я думал это на клиенте будет лучше сделать. Да и пока спрашивал появилась мысль сделать обертку для общего контейнера и отмечать в нем состояние, попутно отмечая это в куки. До этого пытался реализовать подобный сценарий, но внутри обновляемого контейнера. |
Цитата:
Цитата:
Послать запрос серверу... Сформировать не нужный ответ... Послать его на клиент... Потом на клиенте его начать преобразовывать... Это таки да - лучше, чем сразу прислать нужное! :D |
Цитата:
|
В ответе целый блок корзины для магазина.
Пример для демонстрации используется упрощенный. Находясь на странице магазина разворачиваю блок с корзиной. Закрываю вкладку браузера. Открываю снова ту самую страницу. Как блок должен узнать, что его до этого открывали ? Состояние должно сохранятся. Для этого думаю использовать cookie или localStorage. Может вы изначально подумали, что блок при открытии подтягивается через ajax ? |
Цитата:
Комп выключаешь? Цитата:
|
Причем тут выключение ?
Сегодня вроде не пятница, а от вас целое множество язвительных реплик. Ситуация рассматривается с точки зрения анонима. Да и хранить это в базе нет смысла. |
Цитата:
Просто интересно понять до куда собрался идти? Если только до закрытия вкладки, браузера и выключения компа - одно... Если дальше - уже х/з... |
Так что в итоге, вы все еще считаете бредом использование контейнера для блока корзины и манипуляции на стороне клиента ?
Может существуют какие-то новые, кардинально отличающиеся технологии для реализации задуманного ? Может чего-то не знаю. Открыт к предложениям. |
Цитата:
Скажу так - я не стал бы так делать. :no: Просто слал бы на сервер исчерпывающую информацию, а сервер, обработав ее, слал бы мне правильный ответ. Т.о. клиент и сервер полностью отработали бы "свои деньги". Слать некие полуфабрикаты туда и сюда смысла не вижу... И сам факт "был на странице" он такой расплывчатый... И все зависит до какой черты готов дойти разработчик. И до куда дойдет фантазия пользователя... Т.ч. тут смотри сам. |
Почему бы просто не менять класс у блока-контейнера (.container) для показа/скрытия вашего блока? Тогда будет глубоко пофиг, что вам возвращает сервер - состояние хранится на клиенте и серверу о нем знать вобще не нужно.
.container.visible .content {display : block} Как только блок .container получит еще и класс .visible, то блок .content станет видимым. Убрать класс - блок скроется. |
Часовой пояс GMT +3, время: 14:22. |