什么是跨域就不废话了,之前使用access-control-allow-origin方式解决跨域,这个
方法很好用,只需要在后端添加一个filter即可。具体操作百度即可。
import
javax.servlet.http.HttpServletResponse;
import
java.io.IOException;
@Component
@ServletComponentScan
@WebFilter(urlPatterns =
"/*"
,filterName =
"corsFilter"
)
public class
CorsFilter
implements
Filter {
public void
doFilter(ServletRequest req, ServletResponse res,
FilterChain chain)
throws
IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader(
"Access-Control-Allow-Origin"
,
"*"
);
response.setHeader(
"Access-Control-Allow-Methods"
,
"*"
);
response.setHeader(
"Access-Control-Max-Age"
,
"3600"
);
response.setHeader(
"Access-Control-Allow-Headers"
,
"*"
);
System.
out
.println(
"*********************************
过
滤
器
被
使
用
**************************"
);
chain.doFilter(req, res);
}
public void
init(FilterConfig filterConfig) {}
public void
destroy() {}
}
但是最大的问题的ie内核的浏览器都不支持,所以像360浏览器这类都不能成功,但是如果
是自己做课程设计之类的话可以用Chrome浏览器进行调试。
下面要讲的是在vue项目中使用本地的api代理来解决跨域问题。项目需要使用vue-cli
脚手架搭建。
一、新建vue项目
1.安装vue-cli
cnpmintallvue-cli-g
评论0