我有一个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'或其他任何东西。 我做错了什么?
答案 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");
}