Как отобразить массив - браузер все еще подключается после первой загрузки - PullRequest
0 голосов
/ 01 марта 2012

Этот скрипт отображает правильный результат только один раз, а затем браузер все еще "Соединяется ..."

$(document).everyTime(1000, 'controlled', function() {
    $.ajax({
        type: 'GET',
        url: 'sisplits2.log',
        dataType: 'text',
        async: 'false',
        success: function(data){
        array = data.split('-');
        }
    });
});

$(document).everyTime(1000, 'controlled', function() {
    var j = array.length;
    var i = 0;
    $('#vory').html(function(){
        while (i<j){
        document.write(array[i]);
        document.write("<br />");
        i++;
        }
    });
});

1 Ответ

0 голосов
/ 01 марта 2012

Я не понимаю, почему у вас здесь два таймера.Почему бы не выполнить всю печать в функции обратного вызова?

Кроме того, как было указано в комментариях к вопросу, document.write недействителен после загрузки страницы.Вместо этого используйте jQuery, чтобы добавить / заменить элемент #vory:

$(document).everyTime(1000, 'controlled', function() {
    $.ajax({
        type: 'GET',
        url: 'sisplits2.log',
        dataType: 'text',
        async: 'false',
        success: function(data){
           array = data.split('-');
           $('#vory').html('');  // Clear contents
           for(var i in array) {
                $('#vory').append(array[i]+'<br>');
           }
        }
    });
});

Пример: http://jsfiddle.net/j6WuV/1/

Пример аналогичен, с изменениями для jsfiddle и использованием вместо этого setIntervaleveryTime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...