【发布时间】:2019-03-12 10:40:19
【问题描述】:
由于某种原因,发出请求时我的标头被忽略了。
(下面是我正在做的精简版)
let headers = new Headers();
headers = headers.set('Content-Type', file.mime);
headers = headers.set('X-Blah', "Test");
return this.httpClient.put<HttpEvent<Blob>>(`${encodeURIComponent(file.name)}`, {
data: file,
responseType: "blob",
observe: "events",
headers: headers,
withCredentials: this.configuration.withCredentials
});
我在使用开发工具时注意到的是 [HTTPHeaders] headers 对象只是将新的 header 放入 lazyUpdate 属性/映射中。
当前有一个 HTTPInterceptor,当它触发时,请求对象不包含我在请求中设置的任何标头。
经过反复检查,请求的所有内容都是正确的,标头在 Object 中(尽管在该 lazyUpdate 映射中),但由于某些未知原因,它们似乎在请求中被忽略了。因此,请求将其 Content-Type 属性覆盖,因为它认为那里没有。
有什么想法吗?
【问题讨论】:
标签: angular angular-httpclient angular-http-interceptors