ajax没有张贴,总是一个空白的帖子

时间:2014-06-30 15:59:40

标签: php ajax yii

我对此感到疯狂。我在几个地方请求ajax调用,这些ajax调用最近都没有正常工作。今天我决定重新开始使用ajax调用的新部分。所有其他的都是一样的。这是ajax数据没有发布到控制器的日子 - 总是空白。

这是其中之一。我试图允许用户点击CButtonColumn {up}{down}进行投票。此视图网格“_vote.php”是使用renderPartial通过TbTabs生成的。在renderpartial我在最后一个参数上设置为true

好的,接下来的网格。这是:

<?php $this->widget('bootstrap.widgets.TbGridView', array(
    'type'=>'condensed',
    'id'=>'vote',
    'dataProvider'=>$dataProvider,
    'template'=>"{items}",
    'ajaxUpdate'=>true,
    'columns'=>array(
            array(
                    'class'=>'CButtonColumn',
                    'template' => '{up} {down}',
                    'buttons' => array(
                            'up' => array(
                                    'label'=>'<i class="fa fa-thumbs-up"></i>',
                                    'imageUrl'=>false,
                                    'url'=>'Yii::app()->createUrl("prod/votecommentup", array("id"=>$data->primaryKey))',
                                    'click'=>' function(){
                                        $.fn.yiiGridView.update("vote", {
                                        type:"POST",
                                        url:$(this).attr("href"),
                                        success:function(data) {
                                              $.fn.yiiGridView.update(vote);
                                        }
                                    }',
                            ),
                            'down'=> array(
                                    'label'=>'<i class="fa fa-thumbs-down"></i>',
                                    'imageUrl'=>false,
                                    'url'=>'Yii::app()->createUrl("prod/votecommentdown", array("id"=>$data->primaryKey))',
                                    'click'=>' function(){
                                        $.fn.yiiGridView.update("vote", {
                                        type:"POST",
                                        url:$(this).attr("href"),
                                        success:function(data) {
                                              $.fn.yiiGridView.update(vote);
                                        }
                                    }',
                            ),
                    ),
            ),
    ),
)); ?>

好的......接下来,网址为“prod / votecommentup”,与votecommentdown几乎相同。这是:

public function actionVoteCommentUp($id){
    $model = $this->loadModel($id);
    if(isset($_POST['VoteThis']))
    {
        $model->attributes=$_POST['VoteThis'];
        $model->prototype_review_id = $id;
        $model->user_id = Yii::app()->user->user_id;
        $model->vote = "Y";
        echo CJSON::encode(array('status'=>'saved'));
    }echo CJSON::encode(array('status'=>'not post')); //always give me a no post

}

1 个答案:

答案 0 :(得分:0)

我建议通过Postman App for chrome测试你的电话。这将使您能够独立于视图调试API / AJAX调用。一旦确保API / AJAX正常运行,您就可以将其集成到视图中。这允许您解耦调试过程,并希望使事情更加透明,哪些是功能的,哪些不是。