Ajax刷新Yii Listview中的空白Javascript警报

时间:2012-12-19 02:42:34

标签: javascript jquery yii alertdialog

我在Yii中制作了一个基本的shoutbox,一切都很棒。它设置为通过ajax每10秒刷新一次,这也很有效,但如果我在加载时点击另一个页面(当小旋转器在那里时),则会出现一个空白的javascript警报,另一个页面加载并且警报响起,但是我不知道它来自哪里,它不在我的代码中。 Firebug没有任何错误,任何帮助都会非常感激。

这是刷新代码:

<script type="text/javascript">

$(function() {
function callAjax(){
    $.fn.yiiListView.update('Shoutbox');
    return false;
}
setInterval(callAjax, 10000 );
});
</script>

这是列表视图:

<?php $this->widget('zii.widgets.CListView', array(
'id' => 'Shoutbox',
'dataProvider'=>$dataProvider,
'itemView'=>'shoutbox.views.shoutbox._view',
#'afterAjaxUpdate'=>'js:function(id, data) {$("abbr.timeago").timeago();}', //for ajax update
'summaryText' => '',
'emptyText' => '',
)); ?>

我试过把return:false;在刷新但它没有工作,我注释掉了afterAjaxUpdate,但它仍然发生。

1 个答案:

答案 0 :(得分:1)

好的,希望这最终会帮助别人。

在Yii框架(版本1.1.12)中打开文件:

  

\ YII \籽亿\部件\资产\列表视图\ jquery.listview.js

查找第117行:

error: function(XMLHttpRequest, textStatus, errorThrown) {
            $('#'+id).removeClass(settings.loadingClass);
            //alert(XMLHttpRequest.responseText);
        }

注释警报,问题解决了!

看起来因为请求被中断了Yii抛出了一个错误,这个错误很有意义,但空白警报很烦人。

另请记住在更改文件后清除资产文件夹和浏览器缓存。