【发布时间】:2017-03-21 03:44:50
【问题描述】:
我有一个 Angular 2 (2.1.2) 客户端,ASP.NET Core 作为启用 CORS 的后端。普通 API(GET、POST、DELETE、...)工作正常,我的问题是当我尝试从响应中检索标头时;特别是Content-Disposition。这是我尝试使用 Ajax 获取文件内容时的屏幕截图。
如您所见,在 GET 响应标头中有一个名为 Content-Disposition 的标头,但是当我尝试从 Angular http 服务中检索它时,它却不见了。
快速说明,我只在开发中使用 CORS。
【问题讨论】:
-
您的服务器可能丢失了
Access-Control-Allow-Headers:content-dispositionw3.org/TR/2014/REC-cors-20140116/… -
我还是 ASP.NET Core 的新手,但是我已经像
options.AddPolicy("AllowAll", builder => builder.AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin())这样启用了 CORS,我不确定我是否遗漏了什么。 -
不包括
AllowAnyHeaders。我不知道 ASP.NET,我只知道 Angular2。 -
我强制在每个回复中添加
Access-Control-Allow-Headers:"Content-Disposition",但仍然没有运气。 -
Ups,应该是
access-control-expose-headers。