HTTP PUT标头不适用于Angular 2

时间:2017-03-27 20:32:07

标签: angular http put

我遇到了 Angular 2 的问题,确实,我需要使用授权标头发送 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

Header PUT request

1 个答案:

答案 0 :(得分:3)

您可能收到错误,因为put请求的签名是:

(url: string, body: any, option?: RequestOptionsArgs)

您正在提供:

(url, options)

如果您没有使用body参数,我建议您将http呼叫更改为:

return this.http.put(url, null, { headers: this.header })

希望有所帮助。