我正面临 Angular 2 的问题,确实,我需要使用 授权 header 发送 PUT Http 请求,但它不起作用。
然而,它与 DELETE 、 POST 和 GET 完美配合(使用完全相同的代码)。
请求
private header = new Headers();
// [...]
launchPutRequest(): Promise<any> {
const url = 'http://myurl.com/';
this.header = new Headers();
this.header.append('Authorization', 'Bearer ' + token);
return this.http.put(url, { headers: this.header })
.toPromise()
.then(response => {
return response.json().msg as any;
});
}
根据这张图片,我认为标题格式错误,但为什么只使用 PUT ?
最佳答案
您可能会收到错误消息,因为 put
请求的签名是:
(url: string, body: any, option?: RequestOptionsArgs)
您提供:
(url, options)
如果您不使用
body
参数,我建议您将 http 调用更改为:return this.http.put(url, null, { headers: this.header })
希望有帮助。
关于angular - HTTP PUT header 不适用于 Angular 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43055936/