【发布时间】:2016-10-21 13:49:19
【问题描述】:
我正在使用 Ajax.BeginForm 来调用我的应用程序来运行一些代码。出错时,我想返回我将创建的自定义错误消息。
但是到目前为止我还没有做到这一点。这就是我所拥有的:
控制器:
[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 中的故障的情况下找出正确的方法来做这件事有什么运气吗?
标签: javascript c# ajax error-handling