【发布时间】:2016-01-27 16:43:21
【问题描述】:
我有一个 asp.net web api 的验证模型属性,我使用 jquery ajax 调用来执行 web api 调用。但是,当我的 ajax 调用失败时,ajax 错误不会返回任何成功或失败的消息。
public class ValidationActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
var modelState = actionContext.ModelState;
if (!modelState.IsValid) {
actionContext.Response = actionContext.Request
.CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
}
}
}
$.ajax({
...,
success: function() {
alert('success');
},
error: function() {
alert('fail');
}
});
【问题讨论】:
-
你的 c# 代码真的被击中了吗?
-
@MarkC。是的,C# 代码正在验证操作过滤器中。但是,如果有验证错误,它不会命中 web api 控制器。我怀疑这是原因,但我不知道如何解决。
-
@MarkC。明白了,我有错误的语法。我在我的 ajAx 代码中输入了失败而不是错误
-
哦,是的,
error是 deprecated(如果您使用的是“较新”版本的 jQuery)..很好! -
@Mark C. 顺便说一句,我如何从 ValidationActionFilter 错误地获得响应?
标签: javascript jquery ajax asp.net-web-api asp.net-web-api2