我正在使用django rest框架作为后端,并尝试使用请求标头中的令牌对angular中的请求进行身份验证,但是angular没有发送任何标头值。 我尝试了所有向请求添加标头的方法
test(){
//var headers = new HttpHeaders();
//headers.append('Authorization',':Token '+ token);
let token='Token '+'d7dd1e453bae5086e33243b9adca5b63d2d927fb8';
const httpOptions = {
headers: new HttpHeaders({
'Authorization':'Token d7dd1e453bae5086e33243b9adca5b63d2d927fb8',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers':'X-Requested-With'
})
};
console.log(token);
this.http.get('http://localhost:8003/hello/', httpOptions).subscribe(
response=>{console.log(response);}
);
}
访问控制请求标头: 访问控制允许标题,访问控制允许来源,授权,内容类型 访问控制请求方法:GET DNT:1来源: http://localhost:4001推荐人:http://localhost:4001/
答案 0 :(得分:0)
在最近的项目中,我遇到了同样的问题,设法通过设置Headers来解决此问题:
let headers = new HttpHeaders().set('Authorization', 'Token ...')
.append('Content-Type', 'application/json')
.append('Access-Control-Allow-Origin', '*')
.append('Access-Control-Allow-Headers', 'X-Requested-With');
// now either:
const httpOptions = { headers: headers };
this.http.get('http://localhost:8003/hello/', httpOptions);
// or
this.http.get('http://localhost:8003/hello/', { headers: headers });
致谢。