管理jQuery Ajax 呼叫後的重定向請求
使用jQuery 的$.post() 呼叫servlet 時,可能會遇到重定向會話逾時時的指令。此指令指示瀏覽器導覽至登入頁面,從而中斷預期的 Ajax 回應。
使用 JSON 進行重定向管理
要解決此問題,請考慮使用 JSON 作為Ajax 回應的一部分。所有回應都可以維護 200 狀態代碼,而不是使用 278 等非標準 HTTP 狀態代碼。回應正文將包含一個 JSON 對象,該對象具有兩個關鍵成員:data.redirect 和 data.form。
客戶端處理
在客戶端,JavaScript程式碼將使用此 JSON 物件來決定適當的操作。如果 data.redirect 存在,則表示瀏覽器會重新導向到的 URL。如果 data.form 存在,它包含用於取代目前頁面上指定表單的 HTML 程式碼。
以下是如何在jQuery 中實現此功能的範例:
$.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); } } });
透過使用JSON,您可以保持對重定向和表單替換操作的控制,確保Ajax 呼叫期間的無縫用戶體驗。
以上是如何在 jQuery AJAX 呼叫後處理重新導向以防止回應中斷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!