Angular不发送请求标头值

时间:2019-05-08 08:12:31

标签: javascript angular typescript django-rest-framework

我正在使用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/

1 个答案:

答案 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 });

致谢。