CROS预检请求 异常信息:
Access to XMLHttpRequest at 'http://127.0.0.1:8080/v1/user/login' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.
注意这里的 preflight response 预检请求 这个异常信息表示的是你的请求头信息中有服务端未被允许的请求头信息,需要再服务端将你的请求头信息添加到允许列表中。
解决方法:
在你的服务端请求响应头中增加 Access-Control-Allow-Headers 并将你的请求头信息增加到这里 ,如:
Access-Control-Allow-Headers: Content-Type, X-Custom-Header
或者直接允许全部
Access-Control-Allow-Headers: *
HTTP预检请求语法
Access-Control-Allow-Headers: [<header-name>[, <header-name>]*]
Access-Control-Allow-Headers: *
指令
<header-name>
支持的请求标头名称。此标头可以列出任意数量的请求标头,用逗号分隔。
*(通配符)
“*”值仅在无凭证的请求(即不包含 HTTP cookie 或 HTTP 认证信息的请求)中视为特殊的通配符值。在带有凭证的请求中,它被当作字面意义的标头名称“*”处理,不具有特殊语义。请注意,在 Authorization 标头不能被泛化处理,始终需要明确列出。
参考 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Headers