Jquery Ajax ожидающий запрос замедляет работу других страниц - PullRequest
0 голосов
/ 10 февраля 2020

Я подготовил панель мониторинга, и после загрузки домашней страницы работает приведенный ниже вызов ajax, но проблема заключается в том, что до завершения вызова ajax проблема не возникает, если я нажимаю на другую страницу, то на странице, показывающей загрузку из-за ожидания ajax request.

Для вашего любопытства, вызов ajax занимает 25 se c для большого объема данных.

                $.ajax({
                    type: "POST",
                    url: 'https://mysite/service/AjaxPrepareDashBoard',
                    data: "agent_id=25364523",
                    cache: false,
                    dataType: 'text',
                    async: true,
                    beforeSend: function () {
                      $("#datasource_loader").html('<img src="https://mysite/images/ajax-loader.gif">');
                    },
                    success: function (response)
                    {
                        if (response) {
                            $("#datasource_loader").html('');
                            $("#datasource").prepend(response);
                            $(".print_trx_list").html(response);
                        }

                    }
                });

1 Ответ

0 голосов
/ 10 февраля 2020

Когда пользователь нажимает на другую страницу, вы должны прервать текущий запрос ajax. Добавив фиктивный код ниже, как работает прерывание.

Вам необходимо прервать вызов, когда вы начинаете перенаправление на другую страницу.

var xhr = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

//kill the request
xhr.abort()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...