【发布时间】:2019-04-09 13:24:47
【问题描述】:
我有一个 JsonResult,我在其中进行了一些验证并将响应状态代码设置为 400,并返回一个带有名为 errorMessage 的自定义变量的 Json。
在视图中我有正常的 JQuery AJAX 代码,在错误部分我想访问变量 errorMessage 中的值。
如何在 JQuery AJAX 代码的错误部分中声明 function()。
// JsonResult action method
public JsonResult QuitarMiembro(string Id)
{
if (Id == null)
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json(new { errorMessage = "Null Id" });
}
}
//JQuery AJAX
function MyFun(Id) {
console.log(Id);
$.ajax({
type: "POST",
url: '@Url.Action("QuitarMiembro", "MiembrosJD")',
dataType: 'json',
data: { IdUsuario: Id },
success: function (data) {
fnMostrarMensajeExito(data.message);
tablaMiembrosJD.ajax.reload();
},
error: function (data) {
console.log(data.errorMessage);
}
});
}
【问题讨论】:
-
你有错误功能,尝试consoling data 属性,它应该有请求的主体
-
当您的代码抛出异常时执行
error: function(jqXHR, textStatus, errorThrown)函数,但您返回的是无法进入错误函数的自定义json对象。但是您可以通过像这样的状态来处理异常,例如 `if (jqXHR.status == 404),if (jqXHR.status == 500)`。
标签: c# jquery json ajax asp.net-mvc