我正在开发一个API,在Go和我的前端Angular(没有AngularJS),但是当我从Angular的Web应用程序调用我的API时,在后端看不到我的标头,特殊情况下我的授权标题,因为我的API具有基于JWT的身份验证。标题http没有传递到我的API
另外我想提及的是,我使用Postman和Go Request客户端来测试我的应用程序,并且我的API在我的API中交付时没有任何问题。
下面附加的是我后端的CORS和来自我的前端的API调用。
我的后端:
func Cors() gin.HandlerFunc {
log.Println("CORS Middleware")
return func(c *gin.Context) {
c.Writer.Header().Add("Access-Control-Allow-Origin", "*")
c.Next()
}
}
我的前端:
getData() {
const auth = `Bearer ${this.token}`;
const headers = new Headers({
'Access-Control-Allow-Origin': '*',
'Accept': 'application/json',
'Authorization': auth,
});
const options = new RequestOptions(headers);
console.log(headers); //Here I can see
const products = this.http.get('localhost:8000/api/products', options)
.subscribe((response: Response) => {
this.data = response.json();
});
return products;
}
感谢和我的英语很抱歉,我认为我的CORS会引起问题。
这可能是不相关的,但你需要的“授权”年底将逗号:AUTH, – SolidSnake