2010-12-29 6 views

Antwort

1

Ich hatte das gleiche Problem, und ich fand heraus, dass Sie keine HttpException werfen müssen. Stattdessen tun:

return new HttpStatusCodeResult(401); 

Der onFailure Handler sollte wie folgt aussehen:

function handleOnFailure(response) { 
     alert(response.status); 
    } 

Für mich ist das einzige Problem ist nun, wie die 401 selbst anstelle von MVC behandeln die Anmeldeseite zeigt. Im Falle eines 401 wird die Warnung nicht angezeigt, aber mit jedem anderen Statuscode funktioniert das.

+0

Haben Sie versuchen, eine Httpexception mit dem 401-Code zu werfen? –

+0

@FabioMilheiro, wenn Sie eine HttpException werfen, erhalten Sie immer einen 500 internen Serverfehler. – Marthijn

+0

OK. Ich erinnere mich jetzt hatte ich ein ähnliches Problem. Sie verwenden ActionLink. Verwenden Sie jQuery direkt. Hier ist eine Antwort mit einem Beispiel http://stackoverflow.com/questions/2064261/how-to-return-404-status-in-jquery/2064277#2064277. Sie sollten das Ergebnis erzielen, das Sie suchen (verwenden Sie xhr!). –