首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YII : ClistView中的Ajax数据库更新

YII : ClistView中的Ajax数据库更新
EN

Stack Overflow用户
提问于 2014-07-15 05:15:22
回答 2查看 246关注 0票数 2

我想根据Yii中的点击更新我的数据库中的记录。我尝试过各种方法,但请求没有按下按钮。

这是我的ajax按钮代码

代码语言:javascript
复制
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方法发送给控制器,控制器代码是

代码语言:javascript
复制
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();

        }

但是按钮没有工作,也没有发送数据。如果我检查它显示的页面的来源

代码语言:javascript
复制
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;})

看上去没问题,但不管用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-15 15:50:42

这个问题现在已经解决了,这是因为脚本标记的不闭包阻止了其他脚本,从而阻止了所有的ajax调用。

票数 0
EN

Stack Overflow用户

发布于 2014-07-15 06:49:09

您应该将actionupdateTask替换为actionUpdateTask

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24750275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档