4

私は 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 をコメントアウトしましたが、それでも発生します。

4

1 に答える 1

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 がエラーをスローしたように見えますが、これは完全に理にかなっていますが、空白のアラートは煩わしいものでした。

また、ファイルを変更した後は、アセット フォルダーとブラウザーのキャッシュをクリアすることを忘れないでください。

于 2012-12-19T19:28:18.913 に答える