JQuery AJAX внутри цикла выполняется только на первом цикле - PullRequest
0 голосов
/ 21 ноября 2018

Пожалуйста, помогите мне понять, почему мой ajax-код выполняется только в первом цикле.У меня есть массив JSON.Каждый JSON должен быть обработан, чтобы получить ответ от сервера.Что происходит, так это то, что «Обработка ...» была зарегистрирована в консоли несколько раз как длина массива JSON, тогда первый цикл будет запускать ajax.После этого я получаю ошибки тайм-аута.Ниже мой код.Большое спасибо!

        $.each(arrayJSON, function(i, arrayJSONInstance) {

            jsonString = JSON.stringify(arrayJSONInstance);

            $.ajax({
                url: "php/phpcode.php",
                data: {
                    data: jsonString
                },
                dataType: "json",
                type: "POST",
                timeout: 0,
                beforeSend: function (response) {
                    console.log("Processing...");
                },
                success: function (response) {
                    console.log(response);
                    console.log("Success!");
                },
                error: function(response) {
                    console.log("ERROR:\n");
                    console.log(response);
                }
            });
        });

1 Ответ

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

Как мы знаем, вызовы ajax асинхронны, ваш код отправляет несколько вызовов ajax (в зависимости от длины массива).

Попробуйте сделать синхронный вызов ajax, используя:

async: false

Скажите, решит ли это проблему.

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