Angular2 HTTP put 添加授权 header

标签 angular http-status-code-401 http-put

我正在尝试使用 Angular 中的 http。我的代码如下所示:

const url ='this is my url';
const headers = new Headers({'Authorization': 'this is my token'});
return this.http.put(url, {headers: headers}).toPromise().then......

但我一直收到 401 Unauthorized 作为请求状态代码。 我尝试将我的请求从 Chrome 网络选项卡复制到 Postman,我注意到授权 header 已添加到请求正文,而不是 header 。

enter image description here

这正常吗?

如果我在 Postman 中手动添加授权 header 作为 header ,请求将按预期工作。

最佳答案

根据文档 https://angular.io/api/http/Http

Http.put 方法签名是:

put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>

因此,您的第二个参数应该是数据/正文,而不是选项。

尝试:

return this.http.put(url, {}, {headers: headers}).toPromise().then......

关于Angular2 HTTP put 添加授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171566/

相关文章:

javascript - 如何在延迟加载期间显示加载组件

rest - Twython 401 正在运行,但 REST 工作正常

asp.net - 具有 HTTP 401 状态的无限循环

Angular 7 错误拦截器——原始调用的问题

javascript - 将 HTML/Express.js 设置从 POST 更改为 PUT?

asp.net - WCF REST 4.0 PUT/POST/DELETE 不工作(400 错误请求)

angular - 如何使登录状态在 Angular 2/3/4/5 中持久化

angular - 结合多个最新版本的 observable、ngrx

spring - 在 Spring MVC 中使用 PUT 和 DELETE 方法

asp.net-core - 如何在 ASP.NET Core 中实现 Angular 4 服务器预渲染