已解決:No 'Access-Control-Allow-Origin'跨域問題
問題分析:
這是常見的跨域請求問題,在前后端分離的項目中常見,前端項目中的請求路徑直接用后臺請求路徑(例如:http://192.168.1.1:8080/demo/getUser.do),但根據(jù)瀏覽器的網(wǎng)絡(luò)請求規(guī)則,后臺Server是不允許這樣直接調(diào)用的(會被當(dāng)黑客惡意攻擊給攔截掉)。從而導(dǎo)致該跨域請求被拒絕(如下圖)。

Access to XMLHttpRequest at 'http://192.168.1.1:8080/app/easypoi/importExcelFile' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
解決方式:
網(wǎng)上很多讓修改各種項目中的配置文件但是不好使。其實:只需修改后臺Server(如java的tomcat)的一個過濾配置即可,即允許跨域請求;
在請求的server端(tomcat)的conf/web.xml 配置文件中加入如下配置過濾器
(如web.xml中有多個filter時要把下面配置放在最前端)
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> <init-param> <param-name>cors.allowed.methods</param-name> <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> </init-param> <init-param> <param-name>cors.allowed.headers</param-name> <param-value>Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> </init-param> <async-supported>true</async-supported> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
這樣在根源(后臺)上允許了跨域請求,同時也存在被黑客惡意注入導(dǎo)致服務(wù)器癱瘓(內(nèi)網(wǎng)或單機版除外)。
到此這篇關(guān)于已解決:No 'Access-Control-Allow-Origin'跨域問題的文章就介紹到這了,更多相關(guān)No 'Access-Control-Allow-Origin' 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nacos docker單機模式部署實現(xiàn)過程詳解
這篇文章主要介紹了Nacos docker單機模式部署實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
SpringCloud Gateway使用redis實現(xiàn)動態(tài)路由的方法
這篇文章主要介紹了SpringCloud Gateway使用redis實現(xiàn)動態(tài)路由的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
SpringBoot的@ControllerAdvice處理全局異常詳解
這篇文章主要介紹了SpringBoot的@ControllerAdvice處理全局異常詳解,但有時卻往往會產(chǎn)生一些bug,這時候就破壞了返回數(shù)據(jù)的一致性,導(dǎo)致調(diào)用者無法解析,所以我們常常會定義一個全局的異常攔截器,需要的朋友可以參考下2024-01-01
JDK1.7中HashMap的死循環(huán)問題及解決方案
這篇文章主要為大家介紹了JDK1.7中HashMap的死循環(huán)問題及解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
解決HashMap多線程操作導(dǎo)致死循環(huán)問題
文章主要講述了在多線程環(huán)境下,HashMap的并發(fā)操作可能導(dǎo)致的死循環(huán)問題,包括鏈表/紅黑樹結(jié)構(gòu)破壞、擴容過程中的混亂以及讀寫不一致等,為了解決這些問題,文章建議使用線程安全的ConcurrentHashMap替代HashMap,并介紹了其分段鎖機制和優(yōu)化方案2025-01-01
初識Java基礎(chǔ)之?dāng)?shù)據(jù)類型與運算符
Java是一種強類型語言,每個變量都必須聲明其數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)之?dāng)?shù)據(jù)類型與運算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
Spring實現(xiàn)動態(tài)切換多數(shù)據(jù)源的解決方案
這篇文章主要給大家介紹了Spring實現(xiàn)動態(tài)切換多數(shù)據(jù)源的解決方案,文中給出了詳細(xì)的介紹和示例代碼,相信對大家的理解和學(xué)習(xí)具有一定的參考借鑒價值,有需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。2017-01-01

