gpt4 book ai didi

javascript - 使用 jQuery .when .then

转载 作者:行者123 更新时间:2023-12-03 11:34:25 25 4
gpt4 key购买 nike

我正在尝试调用一个常见的 ajax 函数,该函数应该返回从 PHP 脚本返回的值。

function ajaxCall(url, data, returnType) {
successData = 0;
$.when(
$.ajax({
type: "POST",
url: url,
data: data,
dataType: returnType,
success: function(data) {
successData = data;
}
})
).done(function(){
return successData;
});
return successData;
}

此函数在文档加载时被调用两次:

$(document).ready(function() {    
$.when(
ajaxCall("posts/sales.php", "monthly=Call1", "json", "as"),
ajaxCall("posts/sales.php", "monthly=Call2", "json", "as")
).then(function() {
// make changes in some table.
});
});

但是,基于此,由于 ajax 是异步的,上面的 then() 部分会在 when() 完成之前执行。我想要的是,无需等待页面加载,我希望根据 ajax 调用返回的内容更改表中的值。

PS。如果我可以将 ajaxCall 函数的返回值存储在某个变量中就更好了。

最佳答案

阅读jQuery.when()

function ajaxCall(url, data, returnType) {
return $.ajax({
type: "POST",
url: url,
data: data,
dataType: returnType,
});
}

$(document).ready(function() {
$.when(
ajaxCall("posts/sales.php", "monthly=Call1", "json", "as"),
ajaxCall("posts/sales.php", "monthly=Call2", "json", "as")
).then(function(resultFromFirstCall1, resultFromSecondCall1) {
//Do something with result 1 and 2
});
});

关于javascript - 使用 jQuery .when .then,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581824/

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