在ClistView中更新Ajax数据库
YII : Ajax database update in ClistView
我想更新一个记录在我的数据库基于在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;})
您应该将actionupdateTask
替换为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();
}
这个问题现在已经解决了,这是由于脚本标签的非关闭阻止了其他脚本,反过来又阻止了所有的ajax调用
相关文章:
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 使用formData使用ajax将图像插入数据库
- AJAX,用于显示数据库数据
- Codeigniter:通过Ajax上传图像并存储在数据库中
- 每隔5秒从数据库获取数据,并通过AJAX将其发送到视图
- 使用Mysqli、PHP和AJAX的聊天系统正在将空白消息插入数据库
- 通过javascript确认AJAX更新数据库
- 使用jQuery/Ajax从数据库中检索记录
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- 当用户键入一封信时,如何使用ajax自动完成来显示MySQL数据库中的值
- 使用Javascript、ASP.NET和AJAX防止重复的数据库条目
- jquery ajax 数据库不会更新
- AJAX 数据库更新
- AJAX数据库使CPU进程高
- 如何组合来自不同JS文件的对Ajax数据库的多次调用
- AJAX数据库更新与CSS按钮颜色改变使用Codeigniter
- Ajax数据库浏览器页面刷新更改页面而不是刷新页面
- 在ClistView中更新Ajax数据库
- 如何显示HTML模态,取决于Javascript/AJAX数据库调用的结果