|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
|||||||||||||||||||||||||||||||
Обновление нескольких элементов (div-ов) сайта по результату ajax запроса к php-скрипту08.11.2016, 13:14. Показов 4856. Ответов 13
Метки нет (Все метки)
Добрый день, такой вопрос: нужно обновлять несколько div-ов сайта одним асинхронным запросов к php - скрипту.
Есть код: Кликните здесь для просмотра всего текста
Так вот вопрос, как это реализовать? Чтобы при удалении и счетчик обновлялся и перерасчет (чтобы по циклу заново вывести товары из массива СЕССИИ) корзины был... Php скрипт обработки, экшен Кликните здесь для просмотра всего текста
функция добавления Кликните здесь для просмотра всего текста
и наконец самое проблемное - это как отобразить корзину... Кликните здесь для просмотра всего текста
Как вернуть результат? Напомню нужно обновить таблицу корзины и счетчик(кол-во товаров в корзине). МБ тут можно как-то JSON-ом обойтись. если да как это реализовать? ![]() вот вывод: Кликните здесь для просмотра всего текста
З.Ы при добавлении в корзину, вот эта часть кода Кликните здесь для просмотра всего текста
прекрасно работает и остальные работают, но нужно обновить РАЗНЫЕ элементы сайта и заново пересчитать корзину в цикле...
0
|
|||||||||||||||||||||||||||||||
| 08.11.2016, 13:14 | |
|
Ответы с готовыми решениями:
13
Защита внешнего подключения AJAX к скрипту PHP Передача данных формы скрипту php посредством js (ajax) |
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|||||||
| 08.11.2016, 13:41 | |||||||
0
|
|||||||
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
|
| 08.11.2016, 14:54 [ТС] | |
|
Balanaar, а как на стороне клиента обратиться к массиву JSON, который вывели через echo? Просто не так силён в JS, AJAX...
0
|
|
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||||||
| 08.11.2016, 15:07 | ||||||
|
Краем глаза увидел у вас такую конструкцию:
0
|
||||||
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
|||||||||||||
| 08.11.2016, 15:38 [ТС] | |||||||||||||
|
Вот ниже код, там комментариями показано, что должно обновиться
require_once('Директория к корзине/Файл корзины.php'), но это была лажа, поскольку если я хотел обновить счетчик, то вместо div-а счетчика вырисовывалась корзина, не красивое зрелище...Теперь корзина подключается во View-шке, которой и передаются параметры - массив с данными из функции GetCart();Я не полностью представил свой код, прошу прощения. Еще экшены отрисовки корзины и экшены удаления (в контроллере Корзины)
0
|
|||||||||||||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|
| 08.11.2016, 15:46 | |
|
Не очень понятно, что вы хотите обновить и как.
JS может придать документу интерактивность. Он может оперировать с DOM в пределах одной страницы в браузере клиента. Если вы обновите страницу, то браузер отправит запрос к серверу и загрузит оттуда данные по новой. Если вы хотите сохранять пользовательский выбор между обновлениями страницы/переходами - вам надо либо сохранять информацию на сервере с помощью сессии, либо хранить информацию на клиенте с помощью cookie Добавлено через 1 минуту И еще не понятно, что такое "должна обновляться корзина". Картинка должна меняться у нее? Или счетчик товаров? Или другое?
0
|
|
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
||||||||||||||||||||||
| 08.11.2016, 19:29 [ТС] | ||||||||||||||||||||||
|
Хочу сделать динамичную корзину и вообще интернет-магазин без перезагрузки страниц - это просто, чтобы тренироваться, не коммерческий продукт. Для этого мне понадобилось три функции: добавление, удаление и очистка корзины, сразу скажу, что все они работают. В общем на сайте существует только два элемента для обновления - это счетчик и корзина (см. Прикрепленное изображение 1 и 2), в счетчике видно, что количество товаров в не зависимости от типа и всего прочего - 19 штук (это может быть товар одного вида или нескольких не важно). На втором изображении - это корзина там отображены товар, ее цена и количество, а так же подсчитывается общая сумма и еще крестики для удаления. Вот идентификаторы: $("#cart-count") - это счетчик (div) (первое изображение) $("#cart-basket") - это корзина (другой div) (второе изображение) Пути к запросам: site.ru/cart/add/{id} - добавление по id site.ru/cart/delete/{id} - удаление по id site.ru/cart/clear Добавление возвращает только один результат - это количество товаров в корзине, это я смог проделать вот таким образом: Кликните здесь для просмотра всего текста
Т.к удаление товаров из корзины производится непосредственно на странице самой корзины, то тут нужно обновлять 2 элемента - это корзина (#cart-basket) и счетчик (#cart-count)
Кликните здесь для просмотра всего текста
Вот, что болит:
0
|
||||||||||||||||||||||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||||||
| 09.11.2016, 10:56 | ||||||
|
Очень много буковок. Еле заставил себя прочесть и вникнуть. И то на следующий день только.
Честно говоря, я так до сих пор и не понял, в чем трудность-то? Объявите некую переменную, которая будет содержать в себе информацию об объектах, добавленных в корзину. Предположим это будет объект, имеющий следующую структуру:
0
|
||||||
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
||
| 09.11.2016, 11:04 [ТС] | ||
|
Balanaar,
)) Т.е вы предложили вариант, в которой вместо $_SESSION в PHP использовать массив JS для хранения товаров?
0
|
||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||
| 09.11.2016, 11:15 | ||
|
0
|
||
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
|
| 09.11.2016, 15:47 [ТС] | |
|
Balanaar, почему же не сделаать , данные как раз таки де Аяксом и добавляются и так же возвращаются или я что-то не до понимаю в этом... Возвращаются после пост запроса ответом, этот ответ и обновляет данные. Все динамичное, но я могу этим ответом обновлять только одну часть либо корзину либо счётчик, до сих пор не понял как обновить оба сразу одним ответом
0
|
|
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|||||||
| 09.11.2016, 16:01 | |||||||
|
У вас явно проблемы с пониманием клиент-серверного взаимодействия. И дело тут не в знании языков.
Если отойти от абстрактных примеров, то вы можете отправить post-запрос на удаление товара:
Но еще раз говорю: применительно к вашему случаю эти ajax-запросы - бессмысленная трата серверных ресурсов и клиентского времени. Делайте все на cookie на стороне клиента.
1
|
|||||||
|
0 / 0 / 3
Регистрация: 21.09.2015
Сообщений: 135
|
|||||||||
| 09.11.2016, 18:33 [ТС] | |||||||||
А вообще, да лучше уж пойду вот этим путем
0
|
|||||||||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||
| 09.11.2016, 20:22 | ||
Сообщение было отмечено ZikWall как решение
РешениеЕсли взять наш пример (в ответе после удаления приходит полный перечень оставшихся в корзине продуктов), то создайте переменную, в которую вы поместите ответ сервера. Это будет строковая переменная (вероятнее всего в формате JSON - зависит от серверного скрипта). Примените к ней JSON.parse, которая преобразует строку в javascript-объект, пройдитесь по этому объекту в цикле, сформируйте новый html-код с товарами для корзины, посчитайте количество товаров в этом объекте, удалите старый html-код корзины, вставьте новый уже сформированный, измените счетчик корзины на количество элементов объекта. Всё. Еще раз подчеркну, что такая схема - бредятина полная, но сделайте хотя бы так, чтобы осознать хотя бы примерно как это делается. Расписывать целиком как это нужно делать через cookie вряд ли кто-то станет. Слишком долго и лениво.
1
|
||
| 09.11.2016, 20:22 | |
|
Помогаю со студенческими работами здесь
14
Как передать данные из одинаковых форм php скрипту через AJAX?
Обновление блока div ajax [Ajax] Обновление двух div одновременно Данные из ajax-запроса приходят, но не выводятся в div Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|