等到 Ajax 函数完成
Wait until the Ajax function is done
我已经在网站上搜索了如何等待 ajax 功能完成,我找到了这个解决方案:
function next() {
$.when(checksign()).done(function () {
if (uf == 1) {
$("#usrdiv").css("display", "none");
$("#pswdiv").css("display", "inline");
}
});
}
function checksign() {
$.ajax({
url: "checkuser.php",
data: {
user: u
},
method: "POST"
}).done(...);
}
但它仍然没有工作,它不等待 ajax 完成而是直接执行 done()
中的函数
那是因为 checksign
没有 return 您需要链接在 done
函数上的承诺。
您也不需要 $.when
一个承诺的包装器
function next() {
checksign().done(function(data) {
if (uf == 1) {
$("#usrdiv").css("display", "none");
$("#pswdiv").css("display", "inline");
}
});
}
function checksign() {
return $.ajax({
url: "checkuser.php",
data: {
user: u
},
method: "POST"
}).done(...);
}
我已经在网站上搜索了如何等待 ajax 功能完成,我找到了这个解决方案:
function next() {
$.when(checksign()).done(function () {
if (uf == 1) {
$("#usrdiv").css("display", "none");
$("#pswdiv").css("display", "inline");
}
});
}
function checksign() {
$.ajax({
url: "checkuser.php",
data: {
user: u
},
method: "POST"
}).done(...);
}
但它仍然没有工作,它不等待 ajax 完成而是直接执行 done()
中的函数那是因为 checksign
没有 return 您需要链接在 done
函数上的承诺。
您也不需要 $.when
一个承诺的包装器
function next() {
checksign().done(function(data) {
if (uf == 1) {
$("#usrdiv").css("display", "none");
$("#pswdiv").css("display", "inline");
}
});
}
function checksign() {
return $.ajax({
url: "checkuser.php",
data: {
user: u
},
method: "POST"
}).done(...);
}