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;})
괜찮아 보이지만 작동하지 않는 것 같습니다.
콘솔에 요청이 시작되었는지 아닌지 확인할 수 있습니까? – tinybyte
나는 방화범이 끌리는 콘솔에서 그것을 보았다. 그러나 아무것도 보내지 않고있다. – sush