Миграция из POST-форм в CSS - PullRequest
       10

Миграция из POST-форм в CSS

0 голосов
/ 06 августа 2009

Мне было поручено перевести веб-приложение на более современное соглашение AJAX web 2.0. Приложение в настоящее время использует PHP для извлечения данных из базы данных, представления пользователю форм, а затем обновления базы данных на основе этих представлений форм. Кадры используются для того, чтобы иметь постоянное главное меню навигации и область содержимого, в которой

Таким образом, каждый php-скрипт в основном ищет информацию $ _POST; если его нет, он показывает данные базы данных пользователя, в противном случае он обновляет данные (при условии, что это правильные данные), а затем показывает пользователю результат. Есть простая навигация get, которая показывает подмножества.

Чтобы перенести это на сайт AJAX с макетом css с изменениями содержимого внутри div, я не могу использовать POST, потому что это обновляет всю страницу, верно? (Я имею в виду, что мог, но это было бы расточительно - мне не нужно заново генерировать всю страницу, когда изменяется только небольшая часть.) Таким образом, в целом вся задача заключается в использовании Javascript для чтения информации формы, отправки XML HTTP Запросить и отобразить результаты? Это звучит как переписывание существующего функционала php в javascript, которого я надеюсь избежать.

Правильно ли я понял задачу? Существуют ли библиотеки или фреймворки, которые могут мне помочь?

1 Ответ

1 голос
/ 06 августа 2009

У вас есть две проблемы, которые в некоторой степени связаны, но их не следует просто объединять.

  • CSS для макета
  • Загружается только часть страниц при отправке форм

Я бы работал над отдельным (помня о другом, когда вы это делаете)

Во-первых, я предлагаю вам сосредоточиться на переходе на страницы, основанные на веб-стандартах, без введения Ajax.

Это правда, что при перезагрузке всей страницы есть некоторые недостатки, но этот подход прост и относительно прост в отладке.

Пока вы делаете это, рассмотрите возможность разделения вашего дисплея и бизнес-логики. Шаблон MVC хорошо работает для этого.

CakePHP - популярный MVC-фреймворк, который может помочь.

Если у вас есть работающая система, вы можете беспокоиться об использовании Ajax. Следуйте принципам прогрессивного улучшения .

Если вы отделили нашу логику отображения от бизнес-логики, вам должно быть относительно просто повторно использовать существующий код с другим представлением, которое предоставляет данные, которые вам нужны, в удобном для JavaScript формате (например, JSON).

Вы можете обработать это, чтобы обновить интересующие вас части страницы.

Рамки, которые могут помочь вам включить YUI и jQuery .

Я написал простой пример в прошлом году. Строки 51 и далее основного сценария перекачивают данные либо в HTML-шаблон для обработки непосредственно браузером, либо в модуль JSON для обработки с JS . Там нет большого количества дублирующих усилий, так как код для просмотра параметров, отправленных пользователем, и извлечения данных из БД на его основе является общим.

...