Umleitungsanfragen nach jQuery-Ajax-Aufrufen verwalten
Wenn Sie $.post() von jQuery zum Aufrufen eines Servlets verwenden, kann es zu einer Umleitung kommen Direktive bei Sitzungs-Timeout. Diese Anweisung weist den Browser an, zur Anmeldeseite zu navigieren, wodurch die beabsichtigte Ajax-Antwort unterbrochen wird.
Verwendung von JSON für die Weiterleitungsverwaltung
Um dieses Problem zu beheben, sollten Sie die Verwendung von JSON als in Betracht ziehen Teil Ihrer Ajax-Antwort. Anstatt einen nicht standardmäßigen HTTP-Statuscode wie 278 zu verwenden, können alle Antworten einen Statuscode 200 beibehalten. Der Antworttext enthält ein JSON-Objekt mit zwei Schlüsselelementen: data.redirect und data.form.
Clientseitige Handhabung
Auf der Clientseite das JavaScript Der Code verwendet dieses JSON-Objekt, um die entsprechende Aktion zu bestimmen. Wenn data.redirect vorhanden ist, stellt es die URL dar, zu der der Browser umgeleitet werden soll. Wenn data.form vorhanden ist, enthält es den HTML-Code zum Ersetzen des angegebenen Formulars auf der aktuellen Seite.
Hier ist ein Beispiel, wie dies in jQuery implementiert werden kann:
$.ajax({ type: "POST", url: reqUrl, data: reqBody, dataType: "json", success: function(data, textStatus) { if (data.redirect) { window.location.href = data.redirect; } else { $("#myform").replaceWith(data.form); } } });
Mithilfe von JSON können Sie die Kontrolle über Umleitungs- und Formularersetzungsvorgänge behalten und so ein nahtloses Benutzererlebnis bei Ajax-Aufrufen gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich Weiterleitungen nach jQuery-AJAX-Aufrufen verarbeiten, um unterbrochene Antworten zu verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!