您还必须在允许的标题中添加选项。浏览器先发送预检请求,然后再发送原始请求。见下文
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
从源https://developer.mozilla.org/en- US/docs/Web/HTTP/Methods/OPTIONS
在CORS中,使用OPTIONS方法发送预检请求,以便服务器可以响应是否可以使用这些参数发送请求。的Access-Control-Request- Method
报头通知的服务器作为预检请求的一部分被发送的实际请求时,它将被与POST请求方法发送。的Access-Control-Request- Headers
报头通知服务器被发送的实际请求时,它将被与发送X-PINGOTHER
和Content- Type
自定义首部。服务器现在有机会确定在这种情况下是否希望接受请求。
您可以通过使用npmjs.com/package/cors npm package 来避免这种手动配置。我也使用了这种方法,它既简单又清晰。