2015-03-30 145 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