解決方法
不多BB,先放解決方案
在Controller
上加個Spring的註解@CrossOrgin
即可
(其實也可以通過添加代理來解決,最初我寫React時的解決方案是爲前端添加了代理)
什麼是同源策略
會有人在自己寫前後端的時候,前端後端運行在自己電腦的不同端口,前端向後端發請求時就會出現由於“同源策略”而請求失敗問題(我剛學前端寫React的時候就遇到過)
那麼什麼是同源策略呢
網上的解釋:
同源策略 是由NetScape提出的一個著名的安全策略。所謂的同源,指的是協議,域名,端口相同。瀏覽器處於安全方面的考慮,只允許本域名下的接口交互,不同源的客戶端腳本,在沒有明確授權的情況下,不能讀寫對方的資源。
簡單來說就是:
- 協議不同的(如http、https)不能相互訪問
- 不同域名不能相互訪問
- 相同域名的不同端口(如8080、8081)不能相互訪問
(這也就是爲什麼把前後端同時運行在本機就不能訪問)
這幾種訪問方式都叫做跨域訪問,違背了同源策略,所以會禁止這種訪問