在AJAX请求中通常会遇到跨域资源共享(CORS)的问题

AJAX(Asynchronous JavaScript and XML)是一种基于JavaScript和XML技术的异步请求机制。它通过使用XMLHttpRequest对象,实现在不需要刷新整个页面的情况下与服务器通信,并更新部分页面数据。

然而,在AJAX请求中通常会遇到跨域资源共享(CORS)的问题,这是因为浏览器有同源策略的限制。所谓同源,指的是协议、域名、端口号必须完全相同。若不同,则浏览器会阻止该请求,导致获取不到服务器返回的数据或出现报错。

Access to XMLHttpRequest at 'http://localhost/books' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET http://localhost/books net::ERR_FAILED 200

在这里插入图片描述

针对这个问题,我们可以通过添加@CrossOrigin注解来解决。@CrossOrigin是一个Spring框架提供的注解,用于跨域资源共享请求的响应头处理。它允许我们更加灵活地设定何时和如何处理跨域请求。

要在控制器(Controller)类中添加该注解,只需在类前面加上@CrossOrigin即可。例如:

@RestController
@RequestMapping("/example")
@CrossOrigin
public class ExampleController {
    // ...
}

其中@RestController和@RequestMapping是处理HTTP请求的注解,@CrossOrigin则用于处理跨域请求。

你可能感兴趣的:(奇奇怪怪的编程问题,ajax,java,javascript)