2015-10-13 3 views
1

я пытаюсь моделировать управление исключениями в ASP MVC,Бросить исключение из АЯКСА запроса и ловить его

Вот что у меня есть:

public JsonResult callit() 
{ 
     throw new HttpException(400, "Bad Request"); 
} 

, а затем я пытаюсь вызвать его, как это :

$.ajax({ 
     type: 'GET', 
     url: '@Url.Action("callit", "rat", new { area = "test" })', 
     cache: 'false', 
     error: function (request, status, error) { 
      alert(request.responseText); 
     } 
}); 

Но мое приложение продолжает остановки, когда исключение и моя ошибка не срабатывает, если я не остановить программу. Что мне делать?

+0

Вы можете написать действие фильтра для обработки исключений. http://stackoverflow.com/questions/4707755/asp-net-mvc-ajax-error-handling –

+1

Использовать 'return new HttpStatusCodeResult (400,« Bad Request »);' –

+0

@StephenMuecke Я получаю красные строки, заявляя, что не могу явно convert type web exception to jsonresult –

ответ

3

Вместо того, чтобы бросать исключение, возвращать HttpStatusCodeResult и изменить вас метод ActionResult

public ActionResult callit() // or public HttpStatusCodeResult callit() 
{ 
    return new HttpStatusCodeResult(400, "Bad Request"); 
}