我正面临 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

angular - HTTP PUT  header 不适用于 Angular 2-LMLPHP

最佳答案

您可能会收到错误消息,因为 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/

10-11 22:50
查看更多