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

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)上很多讓修改各種項(xiàng)目中的配置文件但是不好使。其實(shí):只需修改后臺(tái)Server(如java的tomcat)的一個(gè)過濾配置即可,即允許跨域請(qǐng)求;
在請(qǐng)求的server端(tomcat)的conf/web.xml 配置文件中加入如下配置過濾器
(如web.xml中有多個(gè)filter時(shí)要把下面配置放在最前端)
<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>
這樣在根源(后臺(tái))上允許了跨域請(qǐng)求,同時(shí)也存在被黑客惡意注入導(dǎo)致服務(wù)器癱瘓(內(nèi)網(wǎng)或單機(jī)版除外)。
到此這篇關(guān)于已解決:No 'Access-Control-Allow-Origin'跨域問題的文章就介紹到這了,更多相關(guān)No 'Access-Control-Allow-Origin' 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nacos docker單機(jī)模式部署實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Nacos docker單機(jī)模式部署實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
SpringCloud Gateway使用redis實(shí)現(xiàn)動(dòng)態(tài)路由的方法
這篇文章主要介紹了SpringCloud Gateway使用redis實(shí)現(xiàn)動(dòng)態(tài)路由的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
SpringBoot的@ControllerAdvice處理全局異常詳解
這篇文章主要介紹了SpringBoot的@ControllerAdvice處理全局異常詳解,但有時(shí)卻往往會(huì)產(chǎn)生一些bug,這時(shí)候就破壞了返回?cái)?shù)據(jù)的一致性,導(dǎo)致調(diào)用者無法解析,所以我們常常會(huì)定義一個(gè)全局的異常攔截器,需要的朋友可以參考下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)破壞、擴(kuò)容過程中的混亂以及讀寫不一致等,為了解決這些問題,文章建議使用線程安全的ConcurrentHashMap替代HashMap,并介紹了其分段鎖機(jī)制和優(yōu)化方案2025-01-01
初識(shí)Java基礎(chǔ)之?dāng)?shù)據(jù)類型與運(yùn)算符
Java是一種強(qiáng)類型語言,每個(gè)變量都必須聲明其數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)之?dāng)?shù)據(jù)類型與運(yùn)算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
Spring實(shí)現(xiàn)動(dòng)態(tài)切換多數(shù)據(jù)源的解決方案
這篇文章主要給大家介紹了Spring實(shí)現(xiàn)動(dòng)態(tài)切換多數(shù)據(jù)源的解決方案,文中給出了詳細(xì)的介紹和示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。2017-01-01

