Ajax Page Echo против фонового AJAX/Direct HTML -манипуляции?
-
27-10-2019 - |
Вопрос
У меня есть дилемма, и я действительно мог бы использовать несколько советов. Я строю систему заказа с PHP/Smarty/HTML/JQUERY. В настоящее время работает на сайте, где продавец подтвердит заказы.
Мне нужно иметь 3 div.
- Приказы на ожидание div - содержит таблицу с необработанными заказами
- Последние заказы Div - содержит таблицу с последними обработанными закатами (10-20 рядов)
- Подробности Div - содержит информацию о заказе и кнопки для подтверждения/упадка
Это типичная ситуация с мастером-дететацией, только мастер разделен на 2 части (1,2), а детали находятся в Div 3. Естественно, все связано с JavaScript/Ajax, чтобы пользователь мог получить чувство «в реальном времени». Приказы на ожидание Div заполняется с помощью техники кометы (длиннопроката).
Моя дилемма - как соединить DIV с JavaScript/Ajax. Должен ли я сделать эхо -страницы, которые соответствуют состоянию БД и полностью загружают в DIV. Или я должен манипулировать только рядами таблицы и использовать AJAX только для фоновых вызовов DB?
Чтобы прояснить себя:
Вариант 1 (AJAX Complete Pages):
- Когда пользователь выбирает заказ на ожидание, новая страница (Echoed Table) получает AJAX и загружена в детали Div
- Когда пользователь подтверждает/отклоняет заказ в Div 3, Divs 1 и 2 обновляются с AJAX (страницы Echo с таблицами, которые соответствуют состоянию в дБ)
Вариант 2 (HTML -манипуляция/фоновая Ajax):
- Когда пользователь выбирает заказ на ожидание, элементы Div 3 заполнены новым значением.
- Когда пользователь подтверждает/отказывается в порядке в Div3, TR из таблицы в Div 1 удаляется (фоновый AJAX в DEL из DB), а тот же TR добавляется в Div 2 (фоновый AJAX для вставки в DB)
Итак, как идти?
Решение
Оба способа Acceptabale, но NR 1 менее удобен для пользователя из -за перезагрузки Div 1 и 2. Когда вы загружаете что -то в Div 3, у вас есть его идентификатор, так что это должна быть проблема для копирования / добавления TR (и добавить цвет, чтобы пользователь знал, что произошло).
Если вы выберете 2, не забудьте раскрыть / связать новые действия с вашими элементами TR, потому что, когда вы перемещаете свой TR в другое место, это не вызовет действия, которые вы предприняли ранее.
Я бы, наверное, сам пошел с двумя;)
Пса Добавьте наложение с Ajax Loader (http://ajaxload.info/), чтобы быть на безопасной стороне от посредников пользователей, в то время как вы загружаете данные в Div 3. Пользователь также будет счастливее, потому что он будет знать, что что -то происходит;)