微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我在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但它仍然发生.

解决方法

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

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

还记得在更改文件后清除资产文件夹和浏览器缓存.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐