SpringMVC 攔截器中想實現「不重定向、直接打開新窗口」,詢問後端如何實現。
無法在後端攔截器實現「打開新窗口」。
「新窗口/新標籤頁」是**瀏覽器前端行為**,由 HTML 鏈接/表單的 target="_blank" 或 JS window.open() 控制,**與後端無關**。
<a href="/target" target="_blank">新窗口打開</a> 或 <form target="_blank" action="/submit">。window.open('/target', '_blank')。| 誤區 | 事實 |
|---|---|
| 後端返回特殊 Header 可打開新窗口 | HTTP 協議無此能力,瀏覽器忽略 |
| 重定向 302 可指定 target | 重定向由瀏覽器自動跟隨,無法指定 target |
| AJAX 請求可打開新窗口 | AJAX 受同源策略限制,無法直接打開新窗口顯示響應 |
結論:**前端控制 target,後端專注業務邏輯**,職責分離才是正確架構。