Ich verwende den folgenden Code in einem MVC-Controller, um Ausnahmen zu verarbeiten, die während eines Ajax-Aufrufs auftreten.Wie ajax Ausnahme mit MVC und angularjs verarbeiten?
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest")
{
filterContext.Result = new JsonResult
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = new { Error = true, Msj = filterContext.Exception.Message }
};
}
}
Ich möchte den Fehler in der Front-End verarbeiten, um die errorCallback Funktion des Objekts $ http (AngularJS). Das Problem ist das folgende, wenn ich setze filterContext.ExceptionHandled = true;
Angular erkennt den Fehler nicht und führt die Erfolgsfunktion aus. Wenn ich filterContext.ExceptionHandled = false;
setzen, wird Angular die Fehlerfunktion ausführen, aber asp.net wird das Objekt "Data" des Json-Ergebnisses durch die übliche gelbe Fehlerseite ersetzen.
Ist es möglich zu vermeiden, dass asp.net die Antwort ersetzt?
Jede Hilfe wird geschätzt?
Grüße
Sind Sie sehr sicher, ob Ihre Bedingung wahr ist? – Shyju
Ja, vollständig. Ich habe korrekt Angular-Header konfiguriert: $ http.defaults.headers.post ["X-Requested-With"] = "XMLHttpRequest"; – Ayorus
Werfen Sie einen Blick auf die Antwort, die ich gepostet habe. – Shyju