由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; } }即可完美解决跨域问题!