2014-07-15 32 views
2

我想根據Yii中的點擊更新數據庫中的記錄。我已經嘗試了各種方法,但請求沒有被按鈕發佈。YII:ClistView中的Ajax數據庫更新

這是我的AJAX按鈕代碼

CHtml::ajaxButton('Done',Yii::app()->createUrl('task/updateTask'), 
        array(
         'type'=>'POST', 
         'data'=> array('id'=>$data->task_id),       
         'success'=>'js:function(string){ alert(string); }', 

        ),array('class'=>'btn btn-success',)); 

該請求被通過POST方法發送到控制器和控制器的代碼是

public function actionupdateTask(){      
      $query = "UPDATE task SET task_status=4 WHERE task_id=:t_id"; 
       $command = Yii::app()->db->createCommand($query); 
       $command->bindValue(':t_id', $_POST['id'], PDO::PARAM_INT); 
       $command->execute(); 
       Yii::app()->end(); 

     } 

但按鈕不起作用或發送數據。如果我檢查頁面的來源,它顯示

jQuery('#yw0').yiiListView({'ajaxUpdate':['yw0'],'ajaxVar':'ajax','pagerClass':'pagination','loadingClass':'list-view-loading','sorterClass':'sorter','enableHistory':false}); 
jQuery('body').on('click','#yt0',function(){jQuery.ajax({'type':'POST','data':{'id':'5'},'success':function(string){ alert(string); },'url':'/tasks_yii/index.php?r=task/updateTask','cache':false});return false;}); 
jQuery('body').on('click','#yt1',function(){jQuery.ajax({'type':'POST','data':{'id':'4'},'success':function(string){ alert(string); },'url':'/tasks_yii/index.php?r=task/updateTask','cache':false});return false;}); 
jQuery('body').on('click','#yt2',function(){jQuery.ajax({'type':'POST','data':{'id':'1'},'success':function(string){ alert(string); },'url':'/tasks_yii/index.php?r=task/updateTask','cache':false});return false;}) 

它似乎確定,但它不工作。

+0

你可以看到請求是否已經啓動或沒有在控制檯中? – tinybyte

+0

我看到它在螢火蟲控制檯,但沒有任何被髮送 – sush

回答

0

好更換actionupdateTask現在問題已經解決了,這是由於腳本標籤的非關閉其擋住了其他腳本和這反過來又阻止所有的Ajax調用由

1

您shuld與actionUpdateTask

public function actionUpdateTask(){      
    $query = "UPDATE task SET task_status=4 WHERE task_id=:t_id"; 
    $command = Yii::app()->db->createCommand($query); 
    $command->bindValue(':t_id', $_POST['id'], PDO::PARAM_INT); 
    $command->execute(); 
    Yii::app()->end(); 
} 
+0

謝謝亞歷克斯,我試了很久,但沒有運氣.. – sush