javascript - Ajax 刷新 Yii ListView 中的空白 Javascript 警报

标签 javascript jquery yii alert

我在 Yii 中制作了一个基本的 shoutbox,一切都很好。它设置为通过 ajax 每 10 秒刷新一次,这也很好用,但是如果我在加载时单击另一个页面(当小微调器在那里时),则会出现一个空白的 javascript 警报,另一个页面加载并且警报消失,但是我不知道它来自哪里,它不在我的代码中。 Firebug 不会给出任何错误,我们将不胜感激。

这是刷新代码:

<script type="text/javascript">

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

这是 ListView :

<?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,但它仍然发生。

最佳答案

好的,希望这最终能帮助到其他人。

在 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 抛出了一个错误,这很合理,但是空白的警报很烦人。

另外记得在更改文件后清除您的 Assets 文件夹和浏览器缓存。

关于javascript - Ajax 刷新 Yii ListView 中的空白 Javascript 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13944784/

相关文章:

javascript - 加载特定网站时自动运行 JavaScript 代码

javascript - 附加动态元素.find() jquery

javascript - 如何在轮播表中创建分页?

javascript - 获取Datalist的数据属性

php - 打开新页面/选项卡并添加内容

php - 在 Yii 或 Laravel 中从现有数据库生成迁移

php - 在 Yii 上出现 SQLSTATE[HY000] : General error: 2014 Cannot execute queries while other unbuffered queries are active 之类的错误

javascript - 在IE9上的html页面中访问js内部的全局函数

javascript - 将文本放入数字输入不会触发更改事件?

jquery - 将嵌套 html 转换为 bbCode 引用标签