IKnowU
IKnowU
  • 发布:2018-12-27 11:33
  • 更新:2018-12-27 11:33
  • 阅读:3497

跨域问题解决方案

分类:uni-app

解决No 'Access-Control-Allow-Origin' header is present on the requested resource.跨域问题

解决方法 通过服务端设置返回参数
1.在后台写一个过滤器过滤器来改写请求头,直接给出代码
public class CusFilter implements Filter {
//...
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpServletRequest request = (HttpServletRequest)servletRequest;
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization");
response.setHeader("Access-Control-Allow-Credentials", "true");
String method = request.getMethod();
if(method.equalsIgnoreCase("OPTIONS")){
servletResponse.getOutputStream().write("Success".getBytes("utf-8"));
}else{
filterChain.doFilter(servletRequest, servletResponse);
}
}
}
2.在web.xml修改过滤器配置

0 关注 分享

要回复文章请先登录注册