执行ajax是乱序的

时间:2018-04-13 04:54:25

标签: javascript java jquery html ajax

以下是我使用的代码。我使用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发出警报,然后它将结果返回给父函数,然后它会警告缓存的结果。

但结尾并不像预期的那样

我希望这是可以理解的。如果有人知道,请帮忙。

提前致谢

0 个答案:

没有答案