Heim >Web-Frontend >js-Tutorial >Ajax behandelt Benutzersitzungsfehler
Dieses Mal werde ich Ihnen die Ajax-Behandlung von Benutzersitzungsfehlern vorstellen. Was sind die Vorsichtsmaßnahmen für die Ajax-Behandlung von Benutzersitzungsfehlern? Hier ist ein praktischer Fall.
Wenn Sie den spingMVC-Interceptor verwenden, um das Problem der Benutzer-Sitzung-Ungültigmachung zu lösen, wird eine Zeichenfolge von Javascript-Zeichenfolgen zurückgegeben, um die Sitzung des Benutzers zu erzwingen, wenn die Sitzung des Benutzers fehlschlägt Browser, um zur Anmeldeseite zu springen. Wenn jedoch Ajax zum Anfordern von Daten verwendet wird, wird nach einer fehlgeschlagenen Überprüfung nur eine Zeichenfolge beantwortet und JavaScript wird nicht ausgeführt. Dies liegt daran, dass die Ajax-Anforderung nicht vom Browser, sondern vom XMLHTTPRequest-Objekt initiiert wird gibt zurück Die Informationen werden vom XMLHTTPRequest-Objekt empfangen und im js-Objekt gespeichert.
Um mit dieser Situation umzugehen, kann die HTTP-Anfrage zunächst im Hintergrund beurteilt werden und die Ajax-Anfrage kann getrennt von der normalen http-Anfrage verarbeitet werden.
Anhand der von Ajax gesendeten Anforderungsheaderinformationen können Sie feststellen, dass die Headerinformationen der Ajax-Anfrage X-Requested-With:XMLHttpRequest enthalten. Dadurch können Sie feststellen, ob es sich um eine Ajax-Anfrage handelt.
String requestType = request.getHeader("X-Requested-With"); if(requestType !=null&&"XMLHttpRequest".equalsIgnoreCase(requestType.trim())) { //如果是ajax请求 response.setHeader("sessionStatus","timeout"); response.sendError(601,"session timeout."); returnfalse; }
Mit JavaScript-Code können Sie ein für alle Mal die globalen Standardoptionen für Ajax-Anfragen festlegen.
//设置Ajax请求的全局默认options jQuery.ajaxSetup({ type:'post', complete:function(xhr, ts){//XMLHttpRequest, textStatus varsessionStatus = xhr.getResponseHeader('sessionstatus'); if(sessionStatus =='timeout') { alert('页面过期,请重新登录!'); window.top.location.href ='Login.htm' } } });
DataTables wird in dem Projekt auch zum Erstellen von Datentabellen verwendet dass die Verwendung der oben genannten Javascript-Konfigurationsmethode in Datentabellen nicht wirksam werden kann, Fehlermeldung siehe: http://datatables.net/tn/7 Sie müssen das Fehlerattribut von Ajax konfigurieren
Ich glaube, Sie haben den Fall in diesem Artikel gelesen. Sie beherrschen die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
JS-Implementierung der Schachbrettabdeckung
Detaillierte Erläuterung der Verwendung der parasitären kombinierten Vererbung von js
Das obige ist der detaillierte Inhalt vonAjax behandelt Benutzersitzungsfehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!