Angular 承载令牌在邮递员上工作,但在本地主机上不工作

Angular 承载令牌在邮递员上工作,但在本地主机上不工作,angular,token,postman,angular-http,bearer-token,Angular,Token,Postman,Angular Http,Bearer Token,我正试图用不记名代币发出授权请求。如果我在中提出请求,它会起作用。但是如果我从Angular开始,它会给我http错误 我确信返回的令牌是正确的,因为我之前已将其记录下来进行检查 const httpOptions = { headers: new HttpHeaders( { 'Content-Type': 'application/json' , Authorization: 'Bearer '+ localStorage.getItem('auth_token')})

我正试图用不记名代币发出授权请求。如果我在中提出请求,它会起作用。但是如果我从Angular开始,它会给我http错误

我确信返回的令牌是正确的,因为我之前已将其记录下来进行检查

const httpOptions = {
  headers: new HttpHeaders(
    { 'Content-Type': 'application/json' ,
    Authorization: 'Bearer '+ localStorage.getItem('auth_token')})
  };
这是我试图在邮递员身上提出的请求:

 getProducts(): Observable<string[]> {
    console.log(localStorage.getItem('auth_token'));
    return this.http.get<string[]>(this.productsURL)
      .pipe(
        tap(_ => this.log('fetched products')),
        catchError(this.handleError('getProducts', []))
      );
  }
getProducts():可观察{
log(localStorage.getItem('auth_token');
返回this.http.get(this.productsURL)
.烟斗(
点击(=>this.log('fetched products')),
catchError(this.handleError('getProducts',[]))
);
}

您的问题在于您没有使用创建的标题

您的代码应该如下所示:

return this.http.get<string[]>(this.productsURL, httpOptions)
.pipe(
   tap(_ => this.log('fetched products')),
   catchError(this.handleError('getProducts', []))
);
返回this.http.get(this.productsURL,httpOptions)
.烟斗(
点击(=>this.log('fetched products')),
catchError(this.handleError('getProducts',[]))
);

注意
.get
构造函数-除了传递URL之外,它还传递了您在其中创建承载令牌的
httpOptions
对象。

显示其余代码吗?从这个示例中,您说
.getItem
肯定会返回正确的结果,就是这样,所以从您的营地来看,它看起来还可以。它还显示您正在使用Anular而不是AngularJS,因为
HttpHeaders
对象生活在Angular中。控制台中有错误吗?也许你在哪里打电话?我已经添加了请求代码。谢谢,请看下面。嘿@FranciscoBarril,那不是
angularjs
,请删除该标记。这个标签是为Angular v1保留的,对于上面的所有内容,我们都使用
Angular
标签。如果您想了解更多关于标签的信息,只需单击其中一个并查看描述。@FranciscoBarril我很高兴。