首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

EasyUI + Session 失效導致 document.body is null 錯誤排查

     編輯:程式設計綜合問答

現象

  • Session 過期後點擊頁面跳轉,Firefox 拋出 TypeError: document.body is null,彈窗一閃而過。
  • IE 彈出腳本錯誤對話框不消失。
  • Chrome 正常。
  • 後台無異常,重啟服務器或等待超時可復現。

根因

Session 失效導致服務端返回登錄頁或錯誤頁片段,前端 EasyUI 通過 AJAX 載入並嘗試插入 document.body,但當前文檔可能處於卸載/重定向中間態,body 尚不可用或為 null。瀏覽器渲染引擎差異導致表現不同。

解決方案

  1. 統一異常攔截:AJAX 完成前檢查響應頭/狀態碼,若為登錄頁重定向則 window.location.reload()。
  2. EasyUI 異步加載容錯:在 .ajax() 或 panel 加載回調中判斷 document.body 存在性。
  3. 服務端返回 JSON 標識:避免直接返回 HTML 片段,約定 {success:false, redirect:'/login'} 由前端處理跳轉。

參考鏈接

document.body is null 詳細分析

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved