現象:今天在做服務器遷移時,跨域攔截死活不讓通過,,,生產系統是採取前後端分離,前端用的是Vue,各種度各種方法各種試,這大把大把的時間花花流失。。。
1、第一種方式:從瀏覽器屬性中加配置“--args --disable-web-security --user-data-dir” 。。。效果沒什麼卵用
google瀏覽器右鍵屬性,《目標》中在最後加入“--args --disable-web-security --user-data-dir”
2、第二種方式:在Java 中的HandlerInterceptor中對《Access-Control-Allow-Origin》進行攔截,因爲是生產系統運行了好久,基本不會出什麼問題,但還是check一下
public class HandlerInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,token,msg");
response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT,DELETE");
response.addHeader("Access-Control-Allow-Credentials", "true");
return true;
}
3、第三種方式:配置tomcat
在tomcat的web.xml第500多行加入,加入後重啓服務問題解決
<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>