Mehr Details bei [object XMLHttpRequest] Fehlermeldungen bei jQuery Ajax-Calls erhalten

Written on January 07, 2011

Das typische jQuery Ajax Call Beispiel sieht so aus:

$.ajax({
    type: "POST",
    url: "/Customer/Add",
    data: "companyName=" + companyName,
    dataType: "html",
    success: function (result) {
        alert("ok");
    },
    error: function (error, response) {
        alert(error);
    }
});

Allerdings erhält man dann, wenn z.B. die resultierende View nicht gefunden wird, eine wenig aussagekräftige Fehlermeldung:

object XMLHttpRequest

Der Grund hierfür steht in der Fehlermeldung: es handelt sich um ein Objekt vom Typ XMLHttpRequest.

Eine detailiertere Fehlermeldung muss also in einer Property des Objekts stecken.

Ein Blick in die MSDN fördert die Eigenschaft "responseText" (Casing beachten) zu Tage.

Somit sieht unser Ajax-Call jetzt so aus:

$.ajax({
    type: "POST",
    url: "/Customer/Add",
    data: "companyName=" + companyName,
    dataType: "html",
    success: function (result) {
        alert("ok");
    },
    error: function (error, response) {
        alert(error.responseText); // Property statt Objekt verwenden
    }
});

Die Fehlermeldung liefert nun den kompletten HTML-Code der Fehlerseite (von z.B. ASP.NET MVC):

Detailierte Fehlermeldung

DotNetKicks-DE Image