在web api中验证模型失败时返回警报消息

时间:2015-10-28 02:48:33

标签: javascript jquery ajax asp.net-web-api asp.net-web-api2

我有一个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');
  }
});




1 个答案:

答案 0 :(得分:1)

要获得donefail方法的回复,只需执行以下操作:

$.ajax( "your ajax object" )
  .done(function(data) {
    alert(data);
  })
  .fail(function(error) {
    alert(error);
  });

将参数传递给回调(donefail)时,您正在捕获响应。因此,如果您点击API获取字符串数组,并且成功,则数组将位于data内。