微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Yii与ajax的分页

我需要启用ajax的分页
我的代码
控制器(更新内容ajax)

 function actionIndex(){
        $dataProvider=new CActiveDataProvider('News', array(

            'pagination'=>array(
                'pageSize'=>1,
            ),
        ));
        if (Yii::app()->request->isAjaxRequest) {
            $done =$this->renderPartial('index', array('dataProvider' => $dataProvider), true);
            echo CJSON::encode($done);
            Yii::app()->end();
        }

        $this->render('index', array(
            'dataProvider'=>$dataProvider,
        ));
    }

JS(点击事件显示renderpartial)

$(document).ready(function(){
    $(".menunews").click(function() {
        $( "body" ).addClass( "news" );
        $.ajax({
            url: 'index.PHP/news',
            type: "GET",
            dataType: "JSON",
            success: function(data){
                    $('#news').append(data);
                }

        }).fail(function(){
                alert("Error");
            });
    });

视图

<div class="newscont">
    <h1>News</h1>


        <?PHP $this->widget('zii.widgets.CListView', array(
            'dataProvider'=>$dataProvider,
            'itemView'=>'_view',
            'template'=>"{items}\n{pager}",
            'ajaxUpdate'=>'true',
            'enablePagination'=>true,
            'pager' => array(
                'firstPageLabel'=>'<<',
                'prevPageLabel'=>'<',
                'nextPageLabel'=>'>',
                'lastPageLabel'=>'>>',
                'maxButtonCount'=>'10',
                'header'=>'<span>Pagination</span>',
                'cssFile'=>Yii::app()->getBaseUrl(true).'/themes/phil/css/pager.css',
            ),
        )); ?>


</div>

但是,如果我使用ajax加载页面抛出renderpartial我的分页不起作用,我怎么能修复它?

解决方法:

在你的控制器中这样做

    if (Yii::app()->request->isAjaxRequest) {
                $done =$this->renderPartial('index', array('dataProvider' => 
$dataProvider), true);
                echo $done;
                Yii::app()->end();
            }

并将您的ajax调用更改为此

$.ajax({
            url: 'index.PHP/news',
            type: "POST",
            dataType: "html",
            success: function(data){
                    $('#news').html(data);
                }

        })

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐