以下是我使用的代码。我使用Java Servlet,它工作得很好。
$('#subbutton').on("click", function() {
alert("1");
var a = chkUser();
alert('out ' + a);
if (false) {
$("#formid").submit();
}
});
function chkUser() {
alert("inside chk");
var result = false;
$('#subbutton').focus();
if ($("#user").val().length < 8) {
alert("User ID must be atleast 8 digits");
result = false;
} else if ($("#user").val().length > 10) {
alert("User ID must not exeed 10 digits");
result = false;
} else {
alert('inside else');
var u = $('#user').val();
$.post("../checkUser", {
data: u
}, function(responseText) {
$("#chkout").text(responseText);
if (responseText.indexOf('Name') >= 0) {
alert('hi');
document.getElementById("chkout").style.color = "yellowgreen";
result = true;
} else {
alert('bye');
document.getElementById("chkout").style.color = "red";
result = false;
}
});
}
return result;
}
问题是我得到的是
1
在chk内部
在其他地方
out false ---这是问题(回到父函数)
hi / bye ---和(在ajax中执行函数)
最后两个出局不符合指定的顺序。实际上ajax应该执行,并且在成功时它会向hi或bye发出警报,然后它将结果返回给父函数,然后它会警告缓存的结果。
但结尾并不像预期的那样
我希望这是可以理解的。如果有人知道,请帮忙。
提前致谢