在JS中获取400响应错误消息

时间:2018-07-12 09:47:45

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

我有一个点网MVC控制器,当请求异常明显时,它会返回400响应并显示一条错误消息,如下所示:

return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "This is a bad request");

此控制器通过JQuery Post方法命中

    $.post({
    url: window.location.href,
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(payload),
    success: function (data) {
        window.location.href = data;
    },
    error: function (jqXHR, textStatus, errorThrown) {
        $('.submit-calculate').html(jqXHR.responseText);
        debugger;
    }};

我的问题是返回HttpStatusCodeResult字符串属性时返回的字符串不可访问。 jqXHR具有一个属性响应文本,其中包含一个400响应的HTML页面,该页面在页面上呈现以下内容:

enter image description here 现在,该HTML中显示了错误消息,但我只想访问该字符串("This is a bad request"),而不必将其从响应中拉出。不确定是否存在我现在看不到的属性,或者我需要返回其他内容。

1 个答案:

答案 0 :(得分:3)

您可以使用JsonResult类返回JSON结果

Response.StatusCode = (int)HttpStatusCode.BadRequest;
return new JsonResult(){
      Data = "This is a bad request"
};