1. AJAX ссылка, компонент ajaxLink:
echo CHtml::ajaxLink( 'Link ajax', CController::createUrl('site/ajax'), array( 'type' => 'POST', 'data' => array('id' => $somedata), 'update' => '#updatespan') );
Формируется ссылка и при нажатии вызывается метод контроллера site/ajax. Можно задавать как GET так и POST запросы и в data прописывать нужные переменные для отправки.
update указывает в какой блок будет загружен ответ от контроллера.
2. POST отправка формы и обработка логики [просто пример отправки запроса при нажатии клавиши и обработка JSON результата ]
jQuery(function ($) { $('#order').on('keyup', function () { var amount_in = $('#order').val(); var cur_in = 1; var cur_out = 2; $.ajax({ url: "site/calculate", type: "GET", dataType: "json", data: {amount: amount_in , curin: cur_in, curout: cur_out}, timeout: 8000, success: function(res){ $('#Order_amount_out').val(res.amount_out); $('#exrate').html(res.excahngeRate); }, error : function (xhr, status) { alert('Calculate Error, please try again later...'); } }); }); });
3. AJAX Submit Button — отправка формы по AJAX, обработка событий before send , success.
echo CHtml::ajaxSubmitButton('Отправить', '', array( 'type' => 'POST', 'update' => '#output2', 'beforeSend'=>'js:function(){ $("#output2").html("Загрузка..."); ', 'success'=>'js:function(data){ $("#output2").html(data); }', ), array( 'class' => 'btn btn-theme triggerAnimation animated', 'data-animate' => 'bounceIn' ) );