我有一个点网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页面,该页面在页面上呈现以下内容:
现在,该HTML中显示了错误消息,但我只想访问该字符串("This is a bad request"
),而不必将其从响应中拉出。不确定是否存在我现在看不到的属性,或者我需要返回其他内容。
答案 0 :(得分:3)
您可以使用JsonResult
类返回JSON结果
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return new JsonResult(){
Data = "This is a bad request"
};