首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ng2-completer中添加HTTP请求头

如何在ng2-completer中添加HTTP请求头
EN

Stack Overflow用户
提问于 2018-01-18 11:33:17
回答 2查看 632关注 0票数 2

两天来,我一直在努力解决这个标题问题。我可以在邮递员中调用ng2-completer API,没有任何问题。

我需要在请求头中传递令牌以进行身份验证。它在邮递员中工作得很好,但是我在我的TypeScript里面试过了,它根本不起作用。

代码语言:javascript
复制
 this.dataService = completerService.remote("https://arsapi.azurewebsites.net/api/searchusers?searchstring=", 'userName', 'userName');
   let options = new RequestOptions({ headers: new Headers() });
   options.headers.set('Content-Type', 'application/json');
   options.headers.set("Authorization", 'Bearer JeBVR3A');
   this.dataService.requestOptions(options);

TypeScript中的上述请求不发送标头。

为什么我的请求头没有包含在请求中?

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-18 12:32:02

我认为正在发生的事情是,在实际发出请求后,在代码中将标题添加到中,这就是为什么在请求中没有看到它们的原因。

您需要在completerService.remote()函数中添加这些行,因为这是发出实际HTTP请求的地方。

代码语言:javascript
复制
let options = new RequestOptions({ headers: new Headers() });
options.headers.set('Content-Type', 'application/json');
options.headers.set("Authorization", 'Bearer JeBVR3A');
this.dataService.requestOptions(options);

我不知道您的completerService.remote()函数是什么样子,但是无论哪一行代码正在执行HTTP,您都需要将上面的行放在前面,然后将options变量传递给它。

票数 1
EN

Stack Overflow用户

发布于 2018-04-10 21:47:48

我在我的组件中这样做并工作:

代码语言:javascript
复制
constructor(
    private completerService: CompleterService,
    private authenticationService: AuthenticationService
  ) {
    this.dataService = completerService.remote(`${environment.baseUrl}/cep/autocomplete?term=`, 'label', 'label');
    let options = new RequestOptions({headers: new Headers()});
    options.headers.set('Authorization', authenticationService.getToken());
    options.headers.set('Content-Type', 'application/json');
    this.dataService.requestOptions(options);
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48320343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档