Failed to load http://192.168.1.112:8080/wyhy/manage/owner/list: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8020' is therefore not allowed access.
什么是跨域访问?
- 当我们在自己的电脑上开发后台的时候是不会出现这样的问题的, 但是当测试的时候, 别的同事请求自己电脑上的服务器的资源的时候, 就必然会出现跨域访问的问题, 其实很简单, 自己的浏览器访问自己的电脑, 永远都是127.0.0.1, 如果是别人的电脑的话, 你的IP和同事的IP肯定是不同的, 所谓域, 即背后就是IP地址, 不同的IP之间访问就是所谓的跨域访问;
Java解决方案:
- 一般都是写一个过滤器, 在web.xml中配置该filter即可;
- 代码如下:
public class AccessControlAllowOriginFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) resp; response.setHeader("Access-Control-Allow-Origin", "*"); chain.doFilter(req, response); } public void init(FilterConfig arg0) throws ServletException { } public void destroy() { } }