当我在别的网站下发送请求给我本地的主机的时候,即使预检请求失败了,真实的请求还是会发出。不管是fetch发出的,还是用$.ajax发出的,不过只在请求方法是get或者post的时候会这样,如果是put之类的方法,那么在预检请求失败之后,真实的请求就不会发出了。
我不知道这是否和Chrome的private-network-access-preflight策略(https://developer.chrome.com/blog/private-network-access-pref...)有关。但是在官方文档里也明确说了,服务器得正常回复真实请求才会发出:
你是指GET能通,但是PUT不能通吗?你GET是简单请求吗?简单请求是不走OPTIONS的
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS#%E7%AE...