两天来,我一直在努力解决这个标题问题。我可以在邮递员中调用ng2-completer API,没有任何问题。
我需要在请求头中传递令牌以进行身份验证。它在邮递员中工作得很好,但是我在我的TypeScript里面试过了,它根本不起作用。
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中的上述请求不发送标头。
为什么我的请求头没有包含在请求中?
任何帮助都将不胜感激。
发布于 2018-01-18 12:32:02
我认为正在发生的事情是,在实际发出请求后,在代码中将标题添加到中,这就是为什么在请求中没有看到它们的原因。
您需要在completerService.remote()函数中添加这些行,因为这是发出实际HTTP请求的地方。
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变量传递给它。
发布于 2018-04-10 21:47:48
我在我的组件中这样做并工作:
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);
}https://stackoverflow.com/questions/48320343
复制相似问题