我想用刷新整页自动更新div内容。所以我在YII中做了Ajax renderPartial
。现在我使用AJAX按钮实现
我的代码如下
<?php
echo CHtml::ajaxButton ("Update data",
CController::createUrl("blog/UpdateAjax?url=$url"),
array('update' => '#inrscrn'));
?>
现在我想在时间限制内渲染,请帮助
答案 0 :(得分:0)
你的问题不是很清楚。我想你想要设置一个自动&amp;定期刷新div中的内容,而不是单击按钮。
这是您在网页上需要的JavaScript:
<script type="text/javascript">
timeout = 60 * 1000; // in Milliseconds -> multiply with 1000 to use seconds
function refresh() {
<?php
echo CHtml::ajax(array(
'url'=> CController::createUrl("blog/UpdateAjax?url=".$url),
'type'=>'post',
'update'=> '#inrscrn',
))
?>
}
window.setInterval("refresh()", timeout);
</script>
但是向你的控制器发送一个URL不是一个好的方法,而是直接请求做一个需要返回相应数据的控制器的特殊AJAX返回。
<?php
public function actionTest(){
if (isset($_REQUEST['AJAX']) || Yii::app()->getRequest()->getIsAjaxRequest()) {
$this->renderPartial(
'test',
array('model' => $model),
false,
true
);
} else {
$this->render(
'test',
array('model' => $model),
);
}
}
?>