2014-07-15 2 views
2

Yii의 클릭을 기반으로 데이터베이스에서 레코드를 업데이트하려고합니다. 다양한 방법을 시도했지만 버튼으로 요청을 게시하지 않았습니다.YII : ClistView에서 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 교체 shuld 문제가 이제 해결되었습니다, 그것은 다른 스크립트를 차단하고 다시 모든 아약스 호출이 이루어 방지하는 스크립트 태그의 비 폐쇄 할 예정이었습니다

1

당신이 잘 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

감사합니다 alex, 나는 그것을 오래 전에 시험했다. 그러나 어떤 운도. – sush

관련 문제