1. 什么是跨域

跨域是指浏览器的同源策略,它限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。源是一个元组,包括:协议,域名,端口,因此,从http://www.example.com/a.html加载的脚本不能与https://www.example.com/b.html加载的脚本进行交互。

2. AJAX访问SpringBoot2.0跨域问题

AJAX访问SpringBoot2.0时,由于浏览器的同源策略,会导致跨域问题,即不同域名之间的资源无法访问,这会导致AJAX访问SpringBoot2.0时无法正常获取数据。

3. 解决跨域问题

解决跨域问题的方法有很多,比如JSONP、CORS等,这里我们介绍使用CORS的方法来解决AJAX访问SpringBoot2.0时的跨域问题。

4. 使用CORS解决跨域问题

CORS(Cross-Origin Resource Sharing)是一种机制,它使用额外的HTTP头部,允许来自不同源的浏览器向资源服务器发出请求,从而允许跨域访问。

SpringBoot2.0支持CORS,可以通过配置WebMvcConfigurer来实现跨域访问,在SpringBoot2.0中,可以通过自定义WebMvcConfigurer来实现CORS跨域访问:

上面的代码中,我们定义了一个WebMvcConfig类,它实现了WebMvcConfigurer接口,然后在addCorsMappings()方法中,我们设置了允许跨域的路径、支持的方法、允许凭证、最大时间等信息。

这样,当AJAX访问SpringBoot2.0时,就可以正常获取数据,解决跨域问题。