我想根據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;})
它似乎確定,但它不工作。
你可以看到請求是否已經啓動或沒有在控制檯中? – tinybyte
我看到它在螢火蟲控制檯,但沒有任何被髮送 – sush