跨域请求常见错误及解决:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource

我的项目是Vue+Boot前后端分离项目。出现标题的错误信息的可能如下:

第①种情况 后端没有设置跨域,这里以Boot项目为例,在类上使用如下注解:表示这个类中的方法都可以进行跨域

@RestController
@RequestMapping("client/recruit")
@CrossOrigin
public class RecruitClient {
	
}

第②种情况 后端拦截器或过滤器中没有允许该请求方法通过,正确写法如下:拦截器示例

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT, HEAD");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Token, adminID");
response.setHeader("Access-Control-Max-Age", "3600");

第③种情况 这种情况就是粗心导致了,如上诉问题都不存在,那可能是你的请求正确,如你的后端请求为:

@DeleteMapping("client/recruit/{id}")

前端请求为:

'http://127.0.0.1:88/client/recruit'

很明显请求地址缺一个id,这时的报错信息也是如上的错误信息。

你可能感兴趣的:(SpringBoot,Vue,spring,boot,vue)