gpt4 book ai didi

javascript - 如何使用 ajax 替代方法使 $.post 请求按顺序运行

转载 作者:行者123 更新时间:2023-11-30 21:16:18 26 4
gpt4 key购买 nike

是否可以同步执行 $.post 请求?我有以下代码:

function loadTest() {

var questionIDs = [];

var count = 0;

console.log("getting test");
$.post("db.php", function(data) {
obj = jQuery.parseJSON(data);

var questionCount = obj.length;

console.log(obj);

while (count != questionCount) {

questionIDs.push(obj[count].id);
count++;
}
console.log(questionIDs);

// $('#question').html(obj[0].question);
});

$.post("getChoices.php", {
IDs: questionIDs
}, function(data) {
console.log(data);
obj = jQuery.parseJSON(data);

console.log(obj);

while (q < 3) {
console.log("question");
var w = 1;
while (w < 5) {

console.log(obj[q][w]);
w++;
}
q++;
}

// $('#question').html(obj[0].question);
});

}

由于 $.post 函数是异步运行的,发送时变量 questionIDs 为空。是否有不需要从 $.post 更改为 ajax 的可能解决方案?我在这里尝试了各种解决方案,但似乎无法让它们发挥作用。

最佳答案

确保在第一个请求得到响应后发出第二个请求。将第二个请求放在第一个请求回调中。像这样:

function loadTest() {

var questionIDs = [];

var count = 0;

console.log("getting test");
$.post("db.php", function(data) {
obj = jQuery.parseJSON(data);

var questionCount = obj.length;

console.log(obj);

while (count != questionCount) {

questionIDs.push(obj[count].id);
count++;
}
console.log(questionIDs);

// $('#question').html(obj[0].question);

$.post("getChoices.php", {
IDs: questionIDs
}, function(data) {
console.log(data);
obj = jQuery.parseJSON(data);

console.log(obj);

while (q < 3) {
console.log("question");
var w = 1;
while (w < 5) {

console.log(obj[q][w]);
w++;
}
q++;
}

// $('#question').html(obj[0].question);
});
});
}

关于javascript - 如何使用 ajax 替代方法使 $.post 请求按顺序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45657262/

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