跨域名请求

Access-Control-Allow-Origin 拦截跨源请求

1. 问题

Chrome

Access to XMLHttpRequest at ‘xxxxx’ from origin ‘null’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Firefox

已拦截跨源请求:同源策略禁止读取位于 xxxx 的远程资源。(原因:CORS 请求未能成功)

2. 解决

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS/Errors/CORSDidNotSucceed

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

大概就是浏览器不允许使用跨域HTTP请求

协议,端口号,IP地址不同都会引发

  • 需要添加’Access-Control-Allow-Origin的请求头信息来允许域名的访问
1
2
3
4
5
6
7
public String getInfo(HttpServletResponse response){

//允许所有域名访问
response.setHeader("Access-Control-Allow-Origin","*");

return "Hello";
}
  • SpringBoot中有直接的注解@CrossOrigin

    1
    2
    3
    4
    @RestController
    @RequestMapping("/eduservice/edu-teacher")
    @CrossOrigin
    public class EduTeacherController {}
本文结束  感谢您的阅读
  • 本文作者: Wang Ting
  • 本文链接: /zh-CN/2019/09/23/跨域名请求/
  • 发布时间: 2019-09-23 21:11
  • 更新时间: 2021-10-29 13:56
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!