js跨域訪問問題

2022-06-26 15:51:11 字數 1007 閱讀 8825

這裡說的js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向乙個不同的域請求資料,或者通過js獲取頁面中不同域的框架中(iframe)的資料。只要協議、網域名稱、埠有任何乙個不同,都被當作是不同的域。如果進行跨域訪問,瀏覽器會報跨域訪問異常

no 'access control-allow-origin' ....

cors:cross-orign resource sharing跨域分享資源

總之,當前頁面你傳送請求時只要協議、網域名稱、埠號有乙個與當前頁面不一致都屬於跨域訪問。

後端解決方式一

//

解決方法一:

:9105也可設定為*,表示那個域可以進行跨域訪問,但是*號不能用cookie,允許訪問的域

//----如果用了cookie資訊-----,必須加後面這句話,如果不用cookie可以不加這句話

response.setheader("access-control-allow-credentials", "true");

後端解決方式二

//

解決方法二:在處理器方法上加註解,allowcredentials="true",預設為false

在埠號為9105的web前端也要處理,以angularjs為例,在service.js中新增如下內容

//

而且客戶端的請求也需要加引數 )

參考

js跨域訪問問題

最近在搞paas系統,paas ui微服務服務和後台微服務的聯調,想要在ui的js中直接使用ip位址的方式 ip port url 獲取後台資料。發現報錯。後來上網看問題是瀏覽器由於安全方面的考慮,禁止這種跨域訪問。其實ajax已經從跨域將伺服器資料取回,但瀏覽器禁止了該資料的使用。所以要將瀏覽器的...

跨域訪問問題

瀏覽器跨域 跨域問題 於瀏覽器的同源策略,瀏覽器為了提高 的安全性,在傳送ajax請求時,只有在當前頁面位址與請求位址的協議 網域名稱 埠號相同時才允許訪問,否則會被攔截。協議即通訊協議,比如我們現在常見的http和https,如果當前頁面位址使用http協議,請求的位址使用https協議,那麼這個...

angularjs 跨域訪問問題

最近使用angular js 訪問restful 後台時需要考慮cors跨域訪問的問題,angular js 的http訪問本身也是ajax,在跨域訪問時需要做響應的設定 1.伺服器端設定 當跨域訪問時,伺服器端需要設定響應的header,access control allow origin 表示...