Ajax page echo vs background Ajax / прямая манипуляция HTML? - PullRequest
3 голосов
/ 31 января 2011

У меня есть дилемма, и я мог бы действительно использовать некоторые советы.Я строю систему заказов с помощью PHP / Smarty / HTML / jQuery.В настоящее время работаю над сайтом, где продавец подтвердит заказы.

Мне нужно 3 деления.

  1. Ожидание заказов - это таблица с необработанными заказами
  2. Div последних заказов - содержит таблицу с последними обработанными заказами (10-20 строк)
  3. Div подробностей - содержит информацию о заказе и кнопки для подтверждения / отклонения

Это типичныйСитуация с мастер-деталями, только мастер разделен на 2 части (1,2), а детали - в Div 3. Естественно, все связано с javascript / Ajax, поэтому пользователь может почувствовать ощущение «в реальном времени».Div ордеров ожидания заполняется с помощью кометы (длинный опрос).

Моя дилемма в том, как связать div с javascript / ajax.Должен ли я сделать эхо-страницы, которые соответствуют состоянию БД и загрузить полностью в div.Или я должен манипулировать только строками таблицы и использовать ajax только для фоновых вызовов БД?

Чтобы сделать меня более понятным:

Вариант 1 (Ajax complete pages):

  • когда пользователь выбирает порядок ожидания, новая страница (отраженная таблица) выбирается с помощью ajax и загружается в подробности div
  • , когда пользователь подтверждает / отклоняет порядок в div 3, div 1 и 2 обновляются с помощьюajax (эхо-страницы с таблицами, которые соответствуют состоянию в дБ)

Вариант 2 (манипулирование html / фон Ajax):

  • , когда пользователь выбирает порядок ожидания,элементы div 3 заполняются новым значением.
  • , когда пользователь подтверждает / отклоняет порядок в div3, удаляется tr из таблицы в div 1 (фон ajax to del из db) и добавляется тот же trв div 2 (фоновый AJAX для вставки в БД)

Так какой путь?

1 Ответ

1 голос
/ 31 января 2011

Оба способа приемлемы, но номер 1 менее удобен для пользователя из-за перезагрузки div 1 & 2.Когда вы загружаете что-то в div 3, у вас есть его идентификатор, поэтому должно быть проблемой скопировать / добавить tr (и добавить цвет, чтобы пользователь знал, что произошло).

Если вы выберете 2, не забудьте отменить привязку / привязку новых действий к вашим элементам tr, потому что когда вы перемещаете свой tr в другое место, он не будет запускать действия, которые вы связали ранее.с собой 2;)

PS.Добавьте оверлей с загрузчиком ajax (http://ajaxload.info/),, чтобы быть в безопасности от вмешательства пользователя, пока вы загружаете данные в div 3. Пользователь также будет счастливее, потому что он будет знать, что что-то происходит;)

...