在 AJAX 中刷新Yii列表视图的空白Javascript警告

4xrmg8kj  于 2022-11-09  发布在  Java
关注(0)|答案(1)|浏览(124)

我在Yii做了一个基本的shoutbox,一切都很好。它被设置为每10秒通过 AJAX 刷新一次,这也很好,但是如果我在加载页面时点击另一个页面(当小微调器出现时)然后出现一个空白的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' => '',
)); ?>

我试过太岁的回敬:false;在刷新中,但它没有工作,我注解掉了afterAjaxUpdate,但它仍然发生。

jq6vz3qz

jq6vz3qz1#

好吧,希望这最终能帮助到其他人。
在Yii框架(版本1.1.12)中打开文件:
\yii\zii\widgets\assets\listview\jquery.listview.js
查找第117行:

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

注解出警报,问题解决了!
它看起来像是因为请求被中断了Yii抛出了一个错误,这是完全有意义的,但空白的警报是恼人的。
此外,请记住在更改文件后清除资源文件夹和浏览器缓存。

相关问题