Добрый день,
Вопчем нужен совет опытных людей. Создаю проект на yii и собственно есть форма добавления нового пункта в список под этой формой. Передо мной стоит выбор: либо подгружать страницу yii (как это написанно в гайде к фреймворку. Просто берется и полностью перезагружается весть фреймворк для добавления одного поля в бд), либо же просто коннектиться к другому файлу и к нему проделать pdo класс для соединения с базой. Очень много действий проходит по средствам ajax запросов, поэтому не стоит каждый раз по сути грузить заново всю структуру фреймворка. Подскажите пожалуйста, как лучше всего организовать подобные запросы, чтобы все работало как надо даже при нагрузке.
slavagoreev: как бы точно объяснить чтобы было понятно...
Дело вот в чем... подгружаться Ajax-ом будет не вид, а контроллер который результат своей отработки выводит в указанный вид.
Ajax делает запрос к этому контроллеру и выводит результат в DIV, как вы понимаете в этому DIV-е окажется результат отработанного контроллера т.е. вид с данными.
Как пример:
$(document).ready(function() {
// Функция запроса к контроллеру
function getOrderData() {
$('#order_data').load('/ajax/ajaxorder/GetOrderData', {order_id: $('#order_id').val()});
}
// Запуск функции
getOrderData();
});
- в этом примере результат отработки попадает в DIV #order_data и все это срабатывает при загрузке страницы.
"Или он будет каждый раз прогружаться с самого начала (вместе с yii)?" - так точно. НО при добавлении данных с формы будет "перезагружаться" только контроллер с выводом результата, а не страница целиком.
Артур Селиванов: Спасибо, очень хорошо расписали, но к сожелению я не дождался ответа, воспользовался классом-помощником PDO, для безопасных транзакций в базу и прикрутил его к файлу, который будет в зависимости от передаваемого значения action, совершать определенные действия)