Angular6 Angular 6-无法将头添加到httpClient(httpClient-@Angular/common/http)

Angular6 Angular 6-无法将头添加到httpClient(httpClient-@Angular/common/http),angular6,Angular6,//http呼叫 const httpOptions = { headers: new HttpHeaders({ "Content-Type" : "application/json", "Authorization": "JWT Token" }) }; 此请求有效,但不会传递到服务器。似乎无法使用@angular/common/http传递头 当我使用get读取标题时,它返回null。HttpHeaders类似乎有一些问题(@angular/common/htt

//http呼叫

const httpOptions = {
  headers: new HttpHeaders({
    "Content-Type" : "application/json",
    "Authorization": "JWT Token"
  })
};
此请求有效,但不会传递到服务器。似乎无法使用@angular/common/http传递头



当我使用get读取标题时,它返回null。HttpHeaders类似乎有一些问题(@angular/common/http)

您需要将头内容更改为“Bearer”而不是“JWT token”,并将您的令牌传递到其中

const authHeaders =  new HttpHeaders();
authHeaders.append("Content-Type", "application/json");
authHeaders.append("Authorization", "Bearer " + "token");

const tt = authHeaders.get("Content-Type");
const pp = authHeaders.get("Authorization");

@角度/common/http/HttpHeaders是不可变的。那么您的代码应该修改如下

const authHeaders =  new HttpHeaders();
authHeaders.append('Content-Type', 'application/json');
authHeaders.append('Authorization', 'Bearer ' + this.token);

const httpOptions = {
  headers: authHeaders
};

我和你有同样的问题。但我用这个实现修复了它,现在我在使用HttpClient方法并将header绑定到它们时没有问题

  • 第一: 没有必要使用HttpHeaders类
  • 获取令牌:

    const authHeaders =  new HttpHeaders();
    authHeaders = authHeaders.append("Content-Type", "application/json");
    authHeaders = authHeaders.append("Authorization", "Bearer " + "token"); 
    
  • 转到您正在使用的服务器服务。在所有HTTP方法中,还有另一个参数是一个对象,在这个对象中有一个名为headers的键。那么这个key的值就是另一个对象,key:value就是请求的value和header

    let token = localStorage.getItem('token');
    
  • 在实际示例中,可能是这样的:

       http.get('someurl',{
       headers: {'header1':'value1','header2':'value2'}
       });
    
    通过这个实现,您可以将令牌的头粘贴到您的请求中

    试试这个

          getOrders(){
                let token = localStorage.getItem('token');
                 return this.http.get('/api/orders' , {headers: 
                {'Authorization':'Bearer ' + token}});
                 }
    

    但header对象仍然没有任何“Authorization”头。在添加“Authorization”头之后,我读取authHeaders.get(“Authorization”)。它返回空值
          getOrders(){
                let token = localStorage.getItem('token');
                 return this.http.get('/api/orders' , {headers: 
                {'Authorization':'Bearer ' + token}});
                 }
    
    let headers: HttpHeaders = new HttpHeaders();
    headers = headers.append('Content-Type', 'application/json');
    headers = headers.append('Authorization', '12345');
    
    const tt = headers.get("Content-Type");
    const pp = headers.get("Authorization");