【发布时间】:2014-09-05 04:20:10
【问题描述】:
我想根据 Yii 中的点击更新我的数据库中的记录。我尝试了各种方法,但按钮没有发布请求。
这是我的 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;})
看起来还可以,但它不起作用。
【问题讨论】:
-
你能在控制台中查看请求是否已经启动?
-
我在 firebug 控制台中看到了,但没有发送任何内容
标签: javascript php mysql ajax yii