2014-06-30 38 views
0

我瘋了這個。我在幾個地方要求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); 
             } 
            }', 
          ), 
        ), 
      ), 
    ), 
)); ?> 

好了...接下來,URL 「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 

} 

回答

0

我建議通過像郵遞員應用程序鉻的東西來測試你的電話。這將使您能夠獨立於視圖調試API/AJAX調用。一旦確保API/AJAX運行正常,您就可以將其集成到視圖中。這使您可以將調試過程分離出來,並希望使事情對於什麼是功能和什麼不是功能更加透明。