我已经创建了一个Angular应用程序,并且我正在使用HttpClient从IBM / Notes Domino服务器获取数据。我正在使用Domino数据服务来访问具有/{database}/api/data/collections/name/{viewname}
这样的URL的数据库中的数据。数据从服务器返回的很好,我可以使用Chrome DevTools的“网络”标签看到此信息。
在服务器的响应中,我可以看到Content-Range
标头,但是在我的Angular应用中,我无法访问它!
在Angular应用中,我正在使用它来观察服务器的响应
this.httpClient.get<any>('/{database}/api/data/collections/name/{viewname}', {observe: 'response'})
.subscribe(
resp => {
console.log(resp);
}
);
在控制台中,可以看到这些标题:headers: Map(3) {"content-type" => Array(1), "cache-control" => Array(1), "content-length" => Array(1)}
我在[Domino网站规则]的自定义标头中添加了Access-Control-Allow-Headers
,其值为Content-Range
。
有人知道我该如何到达Angular中的Content-Range
标头?
看起来您尚未将Content-range添加到服务器端公开的标头中。
也许您可以尝试以下操作:[EnableCors("http://localhost:3000", "", "", exposedHeaders: "Content-Range")]
您需要设置后端以返回HTTP标头http://localhost:3000,其值为Access-Control-Expose-Headers
。即,完整:Content-Range
。
然后在Angular中,您可以通过执行Access-Control-Expose-Headers: Content-Range
来检索标头:
例如
.headers.get()