JQuery ajax не поддерживает порядок массива

Я преобразовываю разделенную запятыми строку идентификаторов и запускаю каждый из них с помощью простого вызова WordPress ajax. Так....

JS

ids = '575,570,579';

var ids_array = ids.split(',');

ids_array.forEach(function(ids_array_item) {

    $.ajax({
        type   : 'POST',
        url    : 'myurl',
        data   : {
            action   : 'get_custom_content',
            customid : ids_array_item
        },
        success : function( response ) {

            if (response != '') {

                console.info('response : ' + response);

            }

        }

    });

});

PHP

add_action('wp_ajax_get_custom_content', 'get_custom_content');
add_action('wp_ajax_nopriv_get_custom_content', 'get_custom_content');
function get_custom_content() {

    $customid = $_POST['customid'];
    echo $customid;
    die();

}

Я ожидаю получить это обратно ...

response : 575
response : 570
response : 579

Но вместо этого я получаю это...

response : 575
response : 579
response : 570

Кто-нибудь знает, почему заказ искажается, когда он выполняется через вызов ajax?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
144
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ajax асинхронный. Не гарантируется, что несколько HTTP-запросов к одной и той же конечной точке получат ответы в том же порядке, в котором были отправлены запросы.

Если порядок имеет значение, подождите, пока все ответы не будут собраны (поместив обещание, возвращенное $.ajax, в Promise.all), прежде чем перебирать их и записывать в журнал.

В качестве альтернативы напишите конечную точку HTTP, которая может принимать несколько идентификаторов за один раз и возвращать массив результатов.

Другие вопросы по теме