$ .ajax调用后恢复表单提交

如何在jQuery ajax调用后恢复/停止表单提交? 我有MVC应用程序,我正在调用json一个动作,我想停止表单提交,如果结果是假的,并恢复结果实现。

jQuery的:

  $("#formElem").submit(function (e) { e.preventDefault(); $.ajax({ url: '@Url.Action("Check", "TimeRanges")', type: "GET", data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()}, aync: false, dataType: 'json', success: function (data) { if(data == false) { $("#rangeexist").html('Error'); return false; } else { return true; } } }); }); 

行动

 public JsonResult Check(string startRange, string endRange) { var result = false; if (!String.IsNullOrEmpty(startRange) && !String.IsNullOrEmpty(endRange)) { TimeSpan spanStart; TimeSpan.TryParse(startRange, out spanStart); TimeSpan spanEnd; TimeSpan.TryParse(endRange, out spanEnd); var timeRangExisted = _repo.All().Where(x => x.TimeFrom.Equals(spanStart) && x.TimeTo.Equals(spanEnd)).ToList(); if (!timeRangExisted.Any()) result = true; } return Json(result, JsonRequestBehavior.AllowGet); } 

 var ajaxSent = false; $("#formElem").submit(function (e) { if ( !ajaxSent ) e.preventDefault(); $.ajax({ url: '@Url.Action("Check", "TimeRanges")', type: "GET", data: {startRange: $('#SelectedStartTimeRange').val() , endRange: $('#SelectedEndTimeRange').val()}, aync: false, dataType: 'json', success: function (data) { if(data == false) { $("#rangeexist").html('Error'); ajaxSent = true; $("#formElem").submit(); // something like that .... return false; } else { return true; } } }); });