Access to XMLHttpRequest at xxxx from origin ‘null‘ has been blocked by CORS policy:


使用前后端分離的方式創建web項目的時候出現問題:

在這里插入圖片描述
這是因為 ajax 請求的對應的域在本地的一個文件路徑,比如在D盤的某個文件夾,這里存放的都是前端文件;

但是對應的服務器是 localhost 的一個域名;

雖然請求可以到達服務端,服務端也可以處理,但是請求是無法進入ajax的success部分的。

springboot處理的方式是,在代碼里面加上跨域的注解。

spring的官方文檔有這個注解的解釋,如下圖

在這里插入圖片描述

簡單翻譯一下:

這個注解會使得對應的方法支持跨域請求。

默認情況下,允許所有的 origin 和所有的 header ,以及所有的 controller 對應的HTTP方法。

allowedCredentials參數在默認情況下不啟用,因為這會建立一個信任級別,這個級別會把用戶的敏感信息(如cookies和CSRF令牌)公開,建議是只應在適當的情況下使用。

開始的時候加了:

@CrossOrigin

但是重啟應用之后還是有問題,於是就加入了allowedCredentials參數,改成:

@CrossOrigin(allowCredentials = "true", allowedHeaders = "*")

然后成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM