已解決: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)文章
Java的動(dòng)態(tài)代理和靜態(tài)代理及反射常用API詳解
這篇文章主要介紹了Java的動(dòng)態(tài)代理和靜態(tài)代理及反射常用API詳解,動(dòng)態(tài)代理是一種在運(yùn)行時(shí)動(dòng)態(tài)生成代理對(duì)象的技術(shù),它是一種設(shè)計(jì)模式,用于在不修改原始對(duì)象的情況下,通過代理對(duì)象來間接訪問原始對(duì)象,并在訪問前后執(zhí)行額外的操作,需要的朋友可以參考下2024-01-01詳解如何將JAVA程序制作成可以直接執(zhí)行的exe文件
這篇文章主要介紹了詳解如何將JAVA程序制作成可以直接執(zhí)行的exe文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09java+io+swing實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java+io+swing實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07mybatis批量update時(shí)報(bào)錯(cuò)multi-statement not allow的問題
這篇文章主要介紹了mybatis批量update時(shí)報(bào)錯(cuò)multi-statement not allow的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10