将错误消息返回给AJAX以及HTTP状态代码

时间:2015-03-30 21:26:25

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

我知道如何使用HttpStatusCodeHttpStatusCodeResult类返回HTTP状态代码来指示AJAX调用是否失败或成功,我知道如何使用Json()返回对象,但是现在我需要返回HttpStatusCode.BadRequest和包含错误消息的字符串。我需要返回HttpStatusCode,以便AJAX调用转到error属性,并可以访问错误消息。

我如何在C#中执行此操作?

更新 我找到了这段代码:

 return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "This is an error message");

工作正常,我可以在浏览器中看到响应。我如何通过jQuery提取消息部分以在警报中显示它?

2 个答案:

答案 0 :(得分:1)

你是不是想做这样的事情,

try
{
} 
catch (Exception ex)
{
   return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
}

编辑:

error: function (xhr, textStatus, errorThrown) {                
              //errorThrown will have the message you sent. 
              //Also, debug and see the values in xhr object.
            }

答案 1 :(得分:0)

只需在方法中使用此行,

 [HttpGet]
 [Route("Your web api path",Name = "Your web api path")]
 public HttpResponseMessage test ()
 {
     //some codes here 

 return Request.CreateResponse(HttpStatusCode.Ok,[You want to return value]);
 }

我希望这可以帮助你,欢呼老兄,

编辑:你也应该在你的代码中添加它们,System.Web.Http; System.Net.Http和“System.Web.Http.Results;”