【发布时间】:2013-02-21 15:37:01
【问题描述】:
我需要显示 Json 返回的消息。
在控制器中,抛出异常并在 catch 块中捕获。我正在返回故障错误消息。
在 Ajax 中,成功 部分始终执行。但如果是我的webservice出错,我不想正常执行;相反,我想显示一条错误消息。
我怎样才能做到这一点?
我的代码如下:
控制器
[HttpPost]
public JsonResult DeleteClientRecord()
{
bool result = true;
try
{
result = ClientCRUDCollection.DeleteClient(deleteClientId);
}
catch (Exception ex)
{
return Json(ex.Message, JsonRequestBehavior.AllowGet);
}
return Json(new { result }, JsonRequestBehavior.AllowGet);
}
AJAX 调用
$("#YesDelete").click(function () {
$.ajax({
type: "POST",
async: false,
url: "/Client/DeleteClientRecord",
dataType: "json",
error: function (request) {
alert(request.responseText);
event.preventDefault();
},
success: function (result) {
// if error from webservice I want to differentiate here somehow
$("#Update_" + id).parents("tr").remove();
$('#myClientDeleteContainer').dialog('close');
return false;
}
});
});
请任何人帮助我。
【问题讨论】:
-
如果服务器返回状态
200那么success将被执行。如果您希望错误处理程序执行,那么您需要返回一个错误代码,如500、400等。抱歉,我不知道如何在 ASP 中执行此操作 -
@DarinDimitrov 是对的。您的警报应该是 alert(result.Message) 因为这就是我的示例命名返回对象的消息成员的方式
标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-4