我已经花了两天时间来解决我遇到的这个标题问题。我可以在 Postman 中调用 ng2-completer
API,没有任何问题。
我需要在请求 header 中传递 token 进行身份验证。它在 Postman 中工作正常,但是我在 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 中的上述请求不发送 header 。
为什么我的请求 header 没有包含在请求中?
如有任何帮助,我们将不胜感激。
最佳答案
我认为发生的情况是,您在实际发出请求之后将 header 添加到代码中的请求中,这就是您在请求中看不到它们的原因。
您需要在 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 GET,你都需要将上面的行放在这之前,然后通过其 options
变量。
关于typescript - 如何在ng2-completer中添加HTTP请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48320343/