跨域问题解决方式

it2023-09-13  77

跨域问题的两种解决方式--我所知道的

问题描述:第一种方式第二种方式成功请求的效果

问题描述:

由vue-resource发起请求:

发生以下错误:

第一种方式

如下例所示:

@RestController public class PageController { @Resource private PageService pageService; private CommonResult<JdIpad> commonResult=new CommonResult<>(); @GetMapping("/page/get") public CommonResult<JdIpad> getResult(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize,HttpServletResponse response){ Page<JdIpad> page = pageService.getPage(currentPage, pageSize); commonResult.setCode(200); commonResult.setMessage("查询成功"); commonResult.setPage(page); return commonResult; } }

添加response参数,并设置响应头:

response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Cache-Control","no-cache"); @RestController public class PageController { @Resource private PageService pageService; private CommonResult<JdIpad> commonResult=new CommonResult<>(); @GetMapping("/page/get") public CommonResult<JdIpad> getResult(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize,HttpServletResponse response){ //1.解决跨域问题 response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Cache-Control","no-cache"); Page<JdIpad> page = pageService.getPage(currentPage, pageSize); commonResult.setCode(200); commonResult.setMessage("查询成功"); commonResult.setPage(page); return commonResult; } }

第二种方式

在PageController上添加一个@CrossOrigin注解

@RestController @CrossOrigin //2.解决跨域问题 public class PageController { @Resource private PageService pageService; private CommonResult<JdIpad> commonResult=new CommonResult<>(); @GetMapping("/page/get") public CommonResult<JdIpad> getResult(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize){ Page<JdIpad> page = pageService.getPage(currentPage, pageSize); commonResult.setCode(200); commonResult.setMessage("查询成功"); commonResult.setPage(page); return commonResult; } }

即可完美解决跨域问题!

成功请求的效果

最新回复(0)