【问题标题】:Returning Status Code 400 Not Triggering Ajax OnFailure返回状态码 400 未触发 Ajax OnFailure
【发布时间】:2016-12-08 04:03:30
【问题描述】:

我正在向 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
        };
    }

【问题讨论】:

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


    【解决方案1】:

    显然 IIS 弄乱了我的响应并破坏了一些东西。我通过在响应上设置以下属性来修复它。

    controller.Response.TrySkipIisCustomErrors = true;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2018-11-12
      • 2011-11-27
      • 2021-01-13
      • 2018-06-26
      • 2013-12-04
      相关资源
      最近更新 更多