不就应该是只给预检请求加个Access-Control-Allow-Origin的请求头就可以实现跨域了吗,为何给所有请求加Access-Control-Allow-Origin的请求头
时间: 2024-03-27 07:33:33 浏览: 195
allow-cors-access-control插件
不仅仅是给预检请求加上Access-Control-Allow-Origin的请求头,而是需要给所有请求加上该请求头。这是因为跨域请求涉及到浏览器的同源策略,同源策略要求浏览器只能发送同源(协议、域名、端口号相同)的请求,否则会被浏览器拦截。
当浏览器发起跨域请求时,会先发送一个预检请求(OPTIONS请求),用于询问服务器是否允许实际请求的跨域访问。服务器需要在预检请求的响应中加上Access-Control-Allow-Origin的请求头,并指定允许跨域访问的域名。
而对于实际请求,服务器也需要在响应中加上Access-Control-Allow-Origin的请求头,以告知浏览器该请求是被允许的跨域请求。这样浏览器才会接收到响应并将其返回给前端。
因此,为了实现跨域请求,需要给所有请求加上Access-Control-Allow-Origin的请求头,以满足浏览器的同源策略要求。
阅读全文