添加 vue http 时出错 header
Error when adding vue http header
我有一个工作应用程序,其前端在 vuejs
中,后端在 go
中。我正在为身份验证添加最终功能,但我 运行 出错了。
当我尝试将任何 http header 添加到 vuejs
请求时,出现错误。
这是我要添加到 vue component
:
http: {
headers: {
Authorization: 'Bearer 123'
}
}
我收到 preflight
错误:
XMLHttpRequest cannot load http://localhost:8000/api/investments?limit=6. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
现在我知道这通常是服务器端问题,但我添加了响应 header resp.Header().Set("Access-Control-Allow-Origin", "*")
。 cors
。如果我删除 vue object
中的 http 属性 一切正常。很奇怪,我什至尝试用 go
处理 OPTIONS
请求,但 api 的处理程序甚至没有被命中。
好的,所以我找到了答案,这是服务器问题 Authorization
header 未被授权。所以只需将它添加为中间件即可。
c := cors.New(cors.Options{
AllowedHeaders: []string{"Origin", "Accept", "Content-Type", "Authorization"},
})
handler := c.Handler(router)
log.Fatal(http.ListenAndServe(":8000", handler))
我正在使用 rs/cors
包
我有一个工作应用程序,其前端在 vuejs
中,后端在 go
中。我正在为身份验证添加最终功能,但我 运行 出错了。
当我尝试将任何 http header 添加到 vuejs
请求时,出现错误。
这是我要添加到 vue component
:
http: {
headers: {
Authorization: 'Bearer 123'
}
}
我收到 preflight
错误:
XMLHttpRequest cannot load http://localhost:8000/api/investments?limit=6. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
现在我知道这通常是服务器端问题,但我添加了响应 header resp.Header().Set("Access-Control-Allow-Origin", "*")
。 cors
。如果我删除 vue object
中的 http 属性 一切正常。很奇怪,我什至尝试用 go
处理 OPTIONS
请求,但 api 的处理程序甚至没有被命中。
好的,所以我找到了答案,这是服务器问题 Authorization
header 未被授权。所以只需将它添加为中间件即可。
c := cors.New(cors.Options{
AllowedHeaders: []string{"Origin", "Accept", "Content-Type", "Authorization"},
})
handler := c.Handler(router)
log.Fatal(http.ListenAndServe(":8000", handler))
我正在使用 rs/cors
包