Подтвердить что ты не робот

Как я могу остановить jQuery.ajax() от сбоев регистрации в консоли?

Я использую следующий запрос JQuery jQuery для проверки состояния ресурса по URL-адресу. Когда ресурс недоступен или сервер не работает, моя функция ajaxFail() обновляет отображение.

function fetchServerStatus(service, host)
{
    var port = serverStatus[service].port;
    $.ajax({
        url: "http://" + host + ":" + port + "/admin/server/status",
        dataType: "jsonp",
        timeout: 1000,
        error: ajaxFail,
        fail: ajaxFail,
        success: ajaxDone,
        done: ajaxDone,
        complete: ajaxAlways,
        always: ajaxAlways
    });
}

Проблема заключается в том, что несмотря на объявление обработчиков для fail и error, которые ничего не записывают в консоль, jQuery всегда регистрирует неудавшийся запрос в консоли. Если ресурс недоступен в течение длительного времени, это создает огромный консольный журнал, что в конечном итоге приводит к сбою процесса браузера (в моем случае Chrome).

Есть ли способ остановить это от этого?

4b9b3361

Ответ 1

Запись в хромовой консоли - это поведение хром, когда обрабатывается любой HTTP-запрос, а не проблема с jQuery или ajax (XMLHttpRequest), даже тег <img> или <link> вызывают эту проблему.

Ваш единственный выбор - исправить ваш код на стороне сервера, чтобы не вызывать ошибку для ajax (например, 404 не найден или неправильный тип содержимого), поэтому на основе содержимого, зарегистрированного на консоли, возможно, было бы лучшее решение, предоставьте точное сообщение о регистрации в консоли.

Ответ 2

поместите это в начало страницы:

<script>

$(document).ready(function() {
jQuery.migrateMute = true;
})
</script>

его временный - но работал у меня. Бит должен прокручивать 45 строк бессмыслицы, чтобы отлаживать ошибки js.