Access to XMLHttpRequest at 'http://localhost:9084/ from origin 'http://localhost:8096' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
什么情况会出现呢
http://localhost:9084/ 是前台一个服务,
http://localhost:8096/ 是后台一个服务
当从前台服务发送一个ajax请求后台服务,后台服务没异常,浏览器发现是跨域请求的数据,就会报这个报错。
解决方法:
1 前端修改请求方式,采用jsonp
2 服务端修改 在头信息增加 Access-Control-Allow-Origin=* (下面有例子)
3 spring框架使用 @CrossOrigin解决跨域,Spring Framework 版本要在4.2或以上版本才支持
4 通过nginx配置解决
举例,服务端修改:
response.addHeader("Access-Control-Allow-Origin", "*");//这行代码,解决跨域请求问题
PrintWriter out = response.getWriter();
out.println(obj.toString());
out.flush();
out.close();