在ASP.NET MVC中没有调用jQuery Ajax成功函数

时间:2014-11-18 01:43:54

标签: jquery ajax post model-view-controller bootstrap-modal

我有一个Bootstrap Modal表单来检查IMO的存在,我正在使用jQuery Ajax Post来提交它。



$('#submitCheck').click(function() {
   $.ajax({
     type: "POST",
     url: "/Entry/Index",
     dataType: 'json',
     success: function(data) {
       alert("Check");
       if (data == 'true') {
         alert("RETURN TRUE");
         window.location.href = "/Entry/Create";
       } else {
         alert("RETURN FALSE");
         $('#divStat').html("IMO does not exist");
       }

     },
     error: function() {
       alert("Something went wrong");
     }
   });
 })




这是控制器:



[HttpPost]
public ActionResult Index(string IMO) {
  var data = db.Ships.Where(d => d.IMO.Equals(IMO)).FirstOrDefault();
  if (data != null)
    return Json(true);
  return Json(false);
}




当我提交表格时,IMO已经过检查,我看到结果是真的' (或者' false')在View上,但是在jQuery Code中,成功函数没有被调用,所以我无法看到' alert'或其他任何东西。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否正在尝试检查字符串' true'或者布尔值是真的吗?如果删除引号,则应评估为true 此外,您可能希望执行以下操作:
return Json(new { success = true }, JsonRequestBehavior.AllowGet);以便执行以下操作:

success: function (data) {
            //or if(data.success) which evaluates to true.
            if (data.success == true) {
                alert("RETURN TRUE");
            }