gpt4 book ai didi

jquery - AJAX MVC3 jquery ajax 回调总是在成功时进入

转载 作者:行者123 更新时间:2023-12-01 06:38:41 24 4
gpt4 key购买 nike

我遇到以下问题,我有一个由 ajax 调用的后操作:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AX_Login(LoginVM usersubmitted)
{
if (ModelState.IsValid)
{
return Json(new { success = true });
}
else
{
return Json(new { success=false, error = true });
}
}

另一方面,我有以下用于按钮的 jquery 处理程序:

    $("#Jquery_LoginButton").click(
function () {
$.ajax({
type: "POST",
url: "@(Url.Action("AX_Login","Users"))",
data:$("#MiniLoginForm").serialize(),
success: function (result)
{
alert("Good");
},
error: function ()
{
alert("Bad");
}
});

}
)

我的问题:操作已完成,但 ajax 调用始终会成功结束 - 即使模型无效 - 。

问题:

  • 如果我设置为 false 成功,你知道为什么会发生这种情况吗?如果模型无效,我可以抛出异常,但我不认为这很优雅。

  • 您如何正常管理数据注释和 Ajax 的验证?

最佳答案

你总是会“成功”,因为你的要求是正确的总是工作。 $.ajax 不知道返回什么数据。因此,只有当您的请求失败(例如 404)时,您才会收到错误

你必须这样做

$.ajax({
type: "POST",
url: "@(Url.Action("AX_Login","Users"))",
data:$("#MiniLoginForm").serialize(),
success: function (result)
{
if (result.success)
{
alert("Good");
}
else
{
alert("Bad");
}
},
error: function ()
{
alert("Request failed");
}
});

希望这有帮助

关于jquery - AJAX MVC3 jquery ajax 回调总是在成功时进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com