загрузка страницы php задерживается до завершения всех вызовов ajax на текущей странице - PullRequest
0 голосов
/ 13 июня 2018

У меня есть страница PHP (index.php), которая выполняет некоторые вызовы ajax для других страниц PHP(пример: data1.php), чтобы заполнить некоторые элементы div содержимым.Когда я нажимаю на другой пункт меню (companies.php), загрузка страницы (companies.php) задерживается до тех пор, пока не будут выполнены все вызовы ajax на странице (index.php).

Но мне нужноостановите все вызовы ajax при нажатии на другую страницу вместо ожидания.Как это исправить?

1 Ответ

0 голосов
/ 13 июня 2018

создайте ajax-запрос, вы можете использовать переменную для его хранения:

var request = $.ajax({
    type: 'POST',
    url: 'url',
    success: function(result){}
});

Затем вы можете прервать запрос на триггер события onbeforeunload:

request.abort();

Вы можете использовать массивотслеживание всех ожидающих запросов ajax и прерывание их при необходимости.

var request = [];
request.push($.ajax(...))

var _abortAllRequests = function () {
    $(request).each(function (i, xhr) { xhr.abort(); });
    request = [];
}

$(window).on("beforeunload", function () { 
    _abortAllRequests();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...