Web Springboot解決跨域

2021-10-23 09:37:03 字數 1452 閱讀 1345

深入講解:cors

當我們使用ajax請求其他網域名稱(即不是同協議 同網域名稱 同埠)的情況下,會出現拒絕訪問的情況。

比如:你的**網域名稱是localhost:8888,想要訪問localhost:6666中的內容瀏覽器是不允許的。

我們瀏覽器有同源政策,這是因為基於安全的考慮,ajax只能訪問本地的資源,而不能跨域訪問。

但如果是form表單中則是可以的,比如

form表單

localhost:8888中的html頁面,可以訪問到:

"mybutton"

>

點我button

>

ajax不可以訪問到:

request.

open

('get'

,'localhost:8888/'

)

原因:原頁面用 form 提交到另乙個網域名稱之後,原頁面的指令碼無法獲取新頁面中的內容,所以瀏覽器認為這是安全的;

ajax 是可以讀取響應內容的,因此瀏覽器不能允許你這樣做。如果你細心的話你會發現,其實請求已經傳送出去了,你只是拿不到響應而已,下面會詳解。

所以瀏覽器這個策略的本質是,乙個網域名稱的 js ,在未經允許的情況下,不得讀取另乙個網域名稱的內容。但瀏覽器並不阻止你向另乙個網域名稱傳送請求。

服務端來解決跨域的本質就是在響應頭中加入允許跨域的資訊access-control-allow-origin:允許跨域訪問本服務的請求位址,讓瀏覽器允許跨域

在方法或類上加@crossorigin(origins="url")url表示支援跨域訪問本服務的其它位址。

進行額外配置

@configuration

public

class

interceptorconfig

implements

webmvcconfigurer

}

/**

* 跨域支援

*/@configuration

public

class

corsconfig

}

@configuration

public

class

webconfig};

}}

其它方法詳見:spring官方文件:cors support in spring framewor

解決 SVN解決衝突

intelij idea 使用svn,提交 前先更新 此時如果有衝突,就會提示你解決衝突。產生衝突的情況 a 和 b 兩名程式設計師,分別更新了同一版本 version 1 的 同時修改了乙個檔案。a提交 後,伺服器中的 是 version a 即 a 修改後的 b隨後提交 由於伺服器中的 已經不是...

svn is already locked解決方案

蛋疼的問題,不是一次遇到了,每次遇到的原因都不一樣,從網上摘錄了一些資料,整理成文,svn是個不錯的東東。svn already locked 解決辦法 在出錯資料夾下,滑鼠右鍵tortoisesvn clean up.svn錯誤 attempted to lock an already locke...

Bad for loop variable解決方法

錯誤為syntax error bad for loop variable 解決辦法 sudo dpkg reconfigure dash 在選擇項中選no 從 ubuntu 6.10 開始,ubuntu 就將先前預設的bash shell 更換成了dash shell 其表現為 bin sh 鏈結...