gpt4 book ai didi

javascript - jQuery Ajax - 不在循环内工作

转载 作者:行者123 更新时间:2023-12-02 14:55:30 26 4
gpt4 key购买 nike

我已经尝试解决这个问题两天了。但事情似乎不适合我。

我附加的代码在循环外工作正常,但当我在循环内使用它时,它根本无法按我想要的方式工作,并将空数组记录到控制台中。

另一方面,在我的ajax请求中使用“async: false”可以使代码正常工作并在控制台中完全正常地输出数组,但正如您所知,不推荐使用“async: false”并完全卡住UI,直到请求未完成。

除了将 async 设置为 false 之外,还有其他解决方案吗?

for (var i = 0; i <= splittedURLSLength; i++) {
var extracted = extractUsername(splittedURLS[i]);
postData = {'name' : extracted};
ajaxRequest = $.when( $.ajax({
url: "/check",
type: "POST",
data: postData
})).then(function(returnedResponse) {
if (returnedResponse == "1") {
resultsArray.push(extracted);
}
});
}
console.log(resultsArray);

最佳答案

您面临的问题是因为您在控制台填充来自 AJAX 请求的值之前将 resultsArray 记录到控制台中。以下代码将让您简要了解如何使用响应中的数据-

for (var i = 0; i <= splittedURLSLength; i++) {
var extracted = extractUsername(splittedURLS[i]);
postData = {'name' : extracted};
ajaxRequest = $.when( $.ajax({
url: "/check",
type: "POST",
data: postData
})).then(function(returnedResponse) {
if (returnedResponse == "1") {
resultsArray.push(extracted);
showResults(resultsArray);
}
});
}

function showResults(resultsArray) {
console.log(resultsArray);
//Process your resultsArray as per requirement.
}

关于javascript - jQuery Ajax - 不在循环内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848088/

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