Ich versuche, nicht reagierende UI nach Sitzungszeiten zu beheben. Ajax-Anfragen schlagen fehl, weil HTTP 302 zur Anmeldeseite umgeleitet wird - ajax error ist Could not find root <ajax-response> element
.Wie repariert man nicht reagierende Benutzeroberflächen (fehlgeschlagene Ajax-Anrufe), wenn die Sitzung im Apache-Wicket abläuft?
Ich habe mit Ajax-Fehler-Ereignis abonniert:
Wicket.Event.subscribe('/ajax/call/failure', function(attrs, jqXHR, textStatus, jqEvent, errorThrown) {
handleAjaxCallFailure(attrs, jqXHR, textStatus, jqEvent, errorThrown);
});
Aber ich eine vernünftige Art und Weise nicht finden können HTTP-Antwort, Antwortcode oder andere HTTP-Header zu erhalten. Ich habe auch versucht:
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
handleAjaxError(event, jqXHR, ajaxSettings, thrownError);
});
Aber das ist überhaupt nicht feuern. Ich benutze Apache Wicket 7.6.0. Gibt es eine andere Möglichkeit, Benutzer zur Anmeldeseite zu zwingen?
Ich glaube, Wicket wird nicht einmal die Anfrage bekommen, weil Frühling Sicherheitsfilter herausfinden wird, dass Sitzung ungültig ist und deshalb Browser HTTP 302 mit leeren Körper und Redirect Standort auf Login-Seite zeigt. – viliam
Danke @ martin-g, ich habe eine benutzerdefinierte Implementierung von LoginUrlAuthenticationEntryPoint mit angepasster Weiterleitungsstrategie für Wicket-Ajax-Aufrufe entwickelt. – viliam