gpt4 book ai didi

javascript - jQuery ajax 不保持数组的顺序

转载 作者:行者123 更新时间:2023-11-28 17:04:11 25 4
gpt4 key购买 nike

我正在转换一串以逗号分隔的 ID,并通过一个简单的 WordPress Ajax 调用运行每个 ID。像这样......

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.log('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 调用运行时会被破坏吗?

最佳答案

Ajax 是异步的。不保证对同一端点的多个 HTTP 请求按照请求发送的顺序获得响应。

如果顺序很重要,则等到所有响应都收集完毕(通过将 $.ajax 返回的 promise 放入 Promise.all 中),然后再循环并记录它们。

或者,编写一个可以一次性获取多个 ID 并返回一组结果的 HTTP 端点。

关于javascript - jQuery ajax 不保持数组的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56340844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com