我有一个 jQuery/JavaSCript 函数:
function CheckPostcode() {
// if checkbox is checked then hide and return true
// if checkbox is not checked (visible or not) then check postcode is known via Ajax call
// if not known then display the checkbox and return false
//
if ($('#perinatalWomanView_AcceptUnknownPostcode').is(':checked')) {
$("#AcceptUnknownPostcode").hide();
return true;
}
$.getJSON('@Url.Action("PostcodeCheck", "AjaxValidation", new { area = "" })', { postcode: $('#perinatalWomanView_Postcode').val() }, function (result) {
if (result.postcodeFound == true) { // executes SECOND
$("#AcceptUnknownPostcode").hide();
return true;
}
$("#AcceptUnknownPostcode").show();
return false;
});
return false; // executes FIRST
} //CheckPostcode
这似乎是正确的,但是 AJAX getJSON 响应不按顺序运行(我分别使用 Firebug 和警报来检查这一点)。我已经对代码进行了注释以显示执行顺序。Ajax 调用正确执行。
我错过了什么 - 谢谢。