情況是這樣的,專案A有個頁面嵌套的iframe訪問專案B的頁面,
通過路徑中的引數登錄專案B回傳要看的頁面,
專案A和B在同一個IP下,
訪問時,如果A和B的路徑都寫成"localhost:port/xxx"的時候本機可以正常顯示,但是別人通過IP訪問無法看到B的頁面.
A和B如果都寫成IP(192.168.0.xxx:port/xxx)訪問的話,就都可以正常顯示B的頁面,但是本機登錄A時,如果通過localhost訪問,整個頁面會跳轉至專案B的登陸頁面.
我就想知道這是為啥啊.
求大佬們不吝賜教.
uj5u.com熱心網友回復:
應該是由跨域的問題引起了,瀏覽器地址欄中的IP不同或網址中的域名不同都屬于跨域的情況),兩個不同的域不能互相訪問,例如在專案A的js里,不能通過ajax請求專案B的后臺介面,反方亦然。這是一個標準,基本所有瀏覽器都支持這個標準。處理方式一般是,在專案B的后臺介面回傳的Response中顯示宣告,B支持被A跨域。
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*"); //這個*號要換成A的域名或IP
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/172264.html
標籤:Web 開發
下一篇:拋出例外,卻為null
