AJAX в Yii

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'
   )
);

 


Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *