2015-03-30 124 views
0

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

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

UPDATE 我发现这段代码:

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

这工作好了,我可以看到在我的浏览器的响应。我如何提取消息部分以通过jQuery将其显示在警报中?

+0

ASP.NET MVC [HttpStatusCodeResult类](https://msdn.microsoft.com/en-us /library/system.web.mvc.httpstatuscoderesult(v=vs.98).aspx) – 2015-03-30 21:40:30

+0

在你的'.ajax()'错误处理程序中,错误信息应该显示为第二个参数'textStatus'。 – 2015-03-30 21:43:23

+0

现在所有的工作,它是'response.statusText' – Frayt 2015-03-30 21:45:09

回答

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;”

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. 
      } 
+0

看我编辑的OP ^ – Frayt 2015-03-30 21:41:45