0
我正在通过ajax加载一些注释,默认值是5 onload,那么用户可以请求更多,如果他们想。在ajax中加载元素
这是更好的实践问题。
哪里是最好的地方建立html元素,将显示在页面上。
我应该在javascript文件中构建它们然后显示它们吗?
我正在使用Yii框架如果这是任何帮助。
我正在通过ajax加载一些注释,默认值是5 onload,那么用户可以请求更多,如果他们想。在ajax中加载元素
这是更好的实践问题。
哪里是最好的地方建立html元素,将显示在页面上。
我应该在javascript文件中构建它们然后显示它们吗?
我正在使用Yii框架如果这是任何帮助。
确实有很多方法可以实现这一点。我以前遇到类似的问题(也与评论系统有关),我所做的是创建一个自定义的Widget,并将其加载到控制器中。小部件可以具有查看文件,这些文件将根据请求加载,您可以简单地将输出插入页面中的特定位置。 这是我在我的代码:
/protected/widgets/LoadComments.php
class LoadComments extends CWidget {
public $offset;
public $limit;
public $comments;
public function run() {
//(some offset and limit logic here)
$criteria = new CDbCriteria();
// some criteria definitions here (...)
$this->comments = Comment::model()->findAll($criteria);
$this->render('listComments', array());
}
}
/protected/controllers/CommentController.php
public function actionListComments($offset = 0, $limit = 10) {
$this->widget("application.widgets.LoadComments", array(
"offset" => $offset,
"limit" => $limit,
));
}
/保护/视图/评论。 php
<div id="comments"></div>
<script>
$(document).ready(function(){
$.ajax({
type: 'GET',
data: { offset : 0, limit : 10},
url: '<?php echo Yii::app()->createUrl('/comment/listComments');?>',
success: function(data) {
$('#comments').html(data);
}
});
});
</script>
只需将javascript中创建的html附加到页面中的图层 –