gpt4 book ai didi

javascript - Ajax BeginForm - OnFailure 返回错误消息

转载 作者:行者123 更新时间:2023-11-28 05:53:19 25 4
gpt4 key购买 nike

我正在使用 Ajax.BeginForm 调用我的应用程序来运行一些代码。出现错误时,我想返回我将创建的自定义错误消息。

但是到目前为止我还无法做到这一点。这就是我所拥有的:

Controller :

        [HttpPost]
[ValidateAntiForgeryToken]
public async Task<JsonResult> Edit(UserViewModel model) {
Response.StatusCode = 500;
return Json(new { error = "Broken" });
}

Ajax.BeginForm:

@using (Ajax.BeginForm("Edit", "User", new AjaxOptions { HttpMethod = "POST", OnSuccess = "window.location.reload();", OnFailure = "AjaxFailed(error);" }, new { @class = "form-horizontal", role = "form", @id = "EditForm" })) {
}

Javascript:

function AjaxFailed(error) {
debugger
$(".ErrorBox").prop('hidden', false);
$('.ModalErrorText').text("An error occured, please review the data and try again.");
}

我本以为 BeginForm 会捕获我返回的错误并将其传递给 Javascript,但事实并非如此。谁能帮我将错误消息返回给我 Javascript?

谢谢

最佳答案

我只使用了 onSuccess 并删除了 StatusCodeonFailure。希望它也能起作用!

public async Task<JsonResult> Edit(UserViewModel model) {
if(success)
return Json(new { votes = "Success" }, JsonRequestBehavior.AllowGet);
else
return Json(new { error = "Broken" });
}

脚本

function onSuccess(result) {
if (result.error) {
alert(result.error); //do error
}
else {
alert(result.votes); //do success
}
}

关于javascript - Ajax BeginForm - OnFailure 返回错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37920265/

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