返回状态码400不触发Ajax OnFailure

时间:2016-12-08 04:03:31

标签: javascript c# jquery ajax asp.net-mvc

我正在向ASP.NET MVC操作方法发布ajax帖子,并希望以Json的形式返回错误,该错误应该触发onFailure函数。下面的代码适用于我的开发机器,但是一旦我尝试了我们的测试环境,onFailure函数就永远不会被命中。

我无法使用检查onSuccess函数中的布尔值的解决方案来查看是否发生了故障。我需要一个能解除onFailure功能的解决方案。

    public static ActionResult GetModelErrorsInJson(this Controller controller)
    {
        controller.Response.StatusCode = (int)HttpStatusCode.BadRequest;

        var errors = controller.ModelState.Values
            .SelectMany(x => x.Errors)
            .Select(x => x.ErrorMessage);

        var jsonErrors = JsonConvert.SerializeObject(errors);
        return new JsonResult()
        {
            Data = jsonErrors
        };
    }

1 个答案:

答案 0 :(得分:0)

显然,IIS正在弄乱我的反应和破坏事情。我通过在响应上设置以下属性来修复它。

controller.Response.TrySkipIisCustomErrors = true;