[Yii Framework] Redirect Page With Ajax

Ketika menjalankan ajax, sejauh ini masih tidak dimungkinkan melakukan redirect page secara langsung dari fungsi yang diakses AJAX secara langsung lewat controller. Lalu bagaimana mengatasinya ? Pada controller anda, lemparlah link yang akan menjadi tujuan redirect ke AJAX variabel :

 public function actionNamaaction()
 {
    $satu='';
    $satu=$this->createUrl('update',array('id'=>$model->id)); 
    echo CJSON::encode(array
    (
       'satu'=>$satu,
    ));
    Yii::app()->end();
 }

Penjelasan : kita menyimpan informasi link yang akan dituju ke dalam variabel $satu
Lalu pada ajax, buatlah code seperti berikut :

 $.ajax({
   url: "<?php echo Yii::app()->createUrl('namacontroller/namaaction')?>",
   type:"post",
   dataType :"json",
   success : function(data){
        if(data.satu.length > 0)
        {
           window.location=data.satu;
        }
    },
 });

Pada fungsi di atas, ketika operasi ajax telah sukses dan variabel “satu” panjang nilainya lebih besar dari 0, maka akan di redirect sesuai request pada action yang ada pada controller..

 

Selesai.. Selamat mencoba..

Semoga membantu…🙂

5 Responses to [Yii Framework] Redirect Page With Ajax

  1. beda gag ama ini:

    $this->redirect(array(‘controller/action’,’id’=>$model->id, ‘title’=>$model->title));

    itu bisa langsung dr controller…

  2. iya mbak.. itu emang untuk redirect juga.. tapi kalo kita pake AJAX, itu ga bisa di jalanin… maka nya saya buat dengan teknik di atas mbak…

  3. Dayat says:

    tanya mas..

    itu code ajaxNya ditaruh mana ya ??
    dai view tw gimana..

    maklum baru blkangan ini kenalan ma ajax,, dulu2 maen PHP doank

  4. kalo yang manggil ajax nya di view mas..

  5. Dayat says:

    Ok mkasih bnyak,,
    ane coba dulu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: