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

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();

 

你可能感兴趣的:(error)