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] 举报,一经查实,本站将立刻删除。