Return 网络验证模型失败时的警告消息 api

Return alert message when fail validatemodel in web api

我有一个 asp.net 网络 api 的验证模型属性,我使用 jquery ajax 调用来执行网络 api 调用。但是,当我的 ajax 调用失败时,ajax 错误不会 return 任何成功或失败的消息。

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');
  }
});

要将响应输入到您的 donefail 方法中,只需执行以下操作:

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

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