Heim  >  Artikel  >  Web-Frontend  >  Ajax behandelt Benutzersitzungsfehler

Ajax behandelt Benutzersitzungsfehler

php中世界最好的语言
php中世界最好的语言Original
2018-04-19 11:47:091869Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn