报错信息如下:
跨域问题发生的原因:
首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个域加载的脚本去获取另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。
js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。
只要协议、域名、端口有任何一个不同,都被当作是不同的域。
解决方法:
sprinboot:
@RestController
@CrossOrigin//解决跨域问题
public class UserController {
@Autowired
UserService userService;
@RequestMapping("/login")
public String login(String phone,String password){
String user = userService.exist(phone, password);
return user;
}
}
spring mvc:
<mvc:cors>
<mvc:mapping path="/**" allowed-origins="*" allow-credentials="true" max-age="1800"
allowed-methods="GET,POST,PUT,DELETE,PATCH,OPTIONS"/>
</mvc:cors>