使用 $('#dd').dialog({ href: 'test.action', data: { bt:555, id:111 } }) 時,data 參數會被拼接到 URL 作為查詢字符串,可能暴露敏感信息或超過 URL 長度限制。
| 方案 | 適用場景 | 優點 | 缺點 |
|---|---|---|---|
window.name | 跨頁面、跨域數據傳遞 | 容量大(約 2MB)、不隨頁面刷新丟失 | 需手動管理生命週期,安全性較低 |
sessionStorage | 同源頁面臨時存儲 | API 簡單、5MB 容量、瀏覽器標準 | 僅限同源,標籤頁隔離 |
localStorage | 持久化本地存儲 | 無過期時間、容量大 | 需手動清理,同源限制 |
postMessage | 跨域 iframe/窗口通信 | 安全可控、支持結構化數據 | 需雙方協議消息格式 |
| POST 表單提交 | Dialog 加載頁面時攜帶數據 | 不暴露 URL、支持大數據量 | 需修改后端接收方式 |
優先查閱 EasyUI 官方文檔,確認 dialog 組件是否支持 method: 'post' 以 POST 方式加載 href;若不支持,採用 sessionStorage 暫存數據,目標頁面加載後讀取並清除。