No 'Access-Control-Allow-Origin' header is present on the requested resource 。
跨域问题的出现是由于浏览器的同源策略:
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。
以下记录几种解决方法:
1.@CrossOrign注解,在controller上加上这个注解
2.cors
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS 附上cors文档
浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。
只要同时满足以下两大条件,就属于简单请求。
(1) 请求方法是以下三种方法之一:
- HEAD
- GET
- POST
(2)HTTP的头信息不超出以下几种字段:
- Accept
- Accept-Language
- Content-Language
- Last-Event-ID
- Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain
简单请求 :只需要在后端代码加上(意味着允许任何域访问,安全性不高,也可以只设置一个域)
responce.header("Access-Control-Allow-Origin","*");
除此之外的非简单请求,
- 更改服务器端行为以避免预检和/或避免重定向 - 如果您控制服务器,则请求进行
- 更改请求,使其成为一个不会导致预检的简单请求
3.ngnix解决跨域问题
https://www.cnblogs.com/fuhai0815/p/9792520.html
总的来说解决跨域问题最优的解决方案是通过配置代理服务器,将url转成想要的服务器的URL。