setInterval () запускается, но ajax-обновление содержимого div не работает - PullRequest
0 голосов
/ 27 ноября 2018

В onDocumentReady(), $(function () {...}) у меня есть строка: window.setInterval("readPluginCache();", 3000);

Метод readPluginCache() вызывает ajax-вызов для получения и форматирования html-замены для именованного элемента $('#pluginCacheData').

В Chrome (F12) я вижу, что события запуска, завершения и успеха ajax записываются каждые три секунды (как и ожидалось).

Однако новый html не заменяет старые значения html... У меня есть кнопка на странице (в качестве резервной копии), и она вызывает метод readPluginCache();это работает!

Как заставить работать setInterval() методологию?

function readPluginCache() {
    if (!isAuthorized) {
        addMessageError("Error: Unauthorized readCache attempt.");
        return false;
    }

    $('#pluginCacheData').hide();
    $.ajax({
        type: "POST",
        url: infoPageName + "/BriskPluginCacheInfoHtml",
        data: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }).done(function (response) {
        $('#pluginCacheData').empty();
        $('#pluginCacheData').append(response.d);
    }).fail(function (jqXHR, exception) {
        if (jqXHR.responseText.toLowerCase().indexOf('html') !== -1) {
            addMessageError("Internal Server Error: readPluginCache().     Please check the event log.");
        }
        else
            addMessageError("Error: " + jqXHR.responseJSON.Message);
        alert(exception);
    }).always(function () {
        $('#pluginCacheData').show();
    });

    return true;
}

1 Ответ

0 голосов
/ 28 ноября 2018

Хорошо, у меня все получилось;но я не уверен, почему это работает ... Я абстрагировал исходный вызов ajax, инкапсулировав в него другую функцию с именем readAll (), так: window.setInterval (readAll, 3000).ReadAll () последовательно вызывает три различных метода изменения html / div на основе ajax.Я сделал это, потому что есть другие части страницы, которые также нужно динамически обновлять ... Для меня загадка, почему это работает, когда один вызов ajax не работает.

...