Сохранение переменной в успешном вызове AJAX для передачи в другой успешный вызов AJAX - PullRequest
1 голос
/ 10 июля 2019

Создание кнопки «обновить» с помощью jQuery, AJAX и PHP.

Именно этот у меня есть контроль над двумя экземплярами DOM (div) - #sold-container, а также #totalorderswidget.

$(document).ready(function() {
    $(function() {
        $('#orderfeed').on('click', function() {
            var orders;
            $.ajax({
                type: 'POST',
                url: 'liveorderwidget.php',
                beforeSend: function() {
                    $('#sold-container').html('<div class="page-loader"></div>');
                    $.ajax({
                        url: "totalorderswidget.php",
                        beforeSend: function() {
                            $('#totalorderswidget').html('<div class="page-loader"></div>');
                        },
                        success: function(orderdata) {
                            // $('#totalorderswidget').html(orderdata);
                            orders = orderdata;
                        }
                    });
                },
                success: function(solddata) {
                    $('#sold-container').html(solddata);
                    $('#totalorderswidget').html(orders);
                }
            })
        });
    });
});

Мне не нравилось, как каждый DIV обновлял и отображал мой page-loader CSS в разное время, поэтому я решил попробовать собрать данные для передачи и отобразить их одновременно (получить данные из первый вызов ajax, отображать оба на втором).

Это работает как два обычных вызова AJAX, и каждый добавляет html успеха к каждому идентификатору самостоятельно. (раскомментируя // $('#totalorderswidget').html(orderdata); работает),

, но инициализация переменной типа var orders; вне функций и попытка поместить данные в вызов успешного завершения (orders = orderdata;) не работает.

Выполнение console.log на первом успешном вызове AJAX (orderdata) возвращает ожидаемый ответ, но попытка использовать его во втором вызове AJAX ($('#totalorderswidget').html(orders);) не работает, а console.log возвращает undefined для переменной order.

Что я должен изменить, чтобы получить данные из первого успешного вызова функции и перенести эти данные во второй / последний успешный вызов ajax?

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