最近將項目遷移到mac上,用vue做前后端分離時前段項目測試調用后台接口時出現跨域問題
出現403錯誤 No 'Access-Control-Allow-Origin' header is present on the requested resource.
403 是HTTP協議中的一個狀態碼(Status Code)。可以簡單的理解為沒有權限訪問此站。
該狀態表示服務器理解了本次請求但是拒絕執行該任務,該請求不該重發給服務器。
由於我前端項目在端口8083,而后台項目由tomcat發布在8080端口,從而出現了這個情況。
解決步驟
1.由於非maven項目,首先嘗試將tomcat下的lib中的catalina.jar包導入到項目中
在Spring的配置文件 web.xml中添加 配置
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
根據自己請求的接口修改filter-mapping中的url,這里為所有的接口
然后重啟tomcat 查看是否生效。
2.如果未生效則嘗試直接修改tomcat的配置文件,文件為tomcat的安裝路徑下的conf下的web.xml
然后在任意位置添加上面的配置(我放在590行下面),再次重啟tomat,不出意料應該沒有問題了
