【问题标题】:Blank Javascript Alert In Ajax Refreshing Yii ListviewAjax 刷新 Yii Listview 中的空白 Javascript 警报
【发布时间】:2012-12-19 02:42:33
【问题描述】:

我在 Yii 中做了一个基本的喊话箱,一切都很好。它设置为通过 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 文件夹并得到了它:)

标签: javascript jquery yii alert


【解决方案1】:

好的,希望这最终会对其他人有所帮助。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多