无法通过cors从角度2获取所有响应标头

时间:2016-11-07 17:42:12

标签: angular cors

我有一个Angular 2(2.1.2)客户端,ASP.NET Core作为后端,启用了CORS。普通的API(GET,POST,DELETE,...)工作正常,我的问题是当我尝试从响应中检索标头时;特别是Content-Disposition。这是我尝试使用Ajax获取文件内容时的屏幕截图。

OPTIONS request

GET request

正如您所看到的,GET响应标头中有一个名为Content-Disposition的标头,但当我尝试从Angular http服务中检索它时,它会丢失。

  

快速说明,我只是在开发中使用CORS。

2 个答案:

答案 0 :(得分:11)

您需要配置服务器以便添加响应标头

access-control-expose-headers: content-disposition

否则浏览器不会将标题提供给JavaScript。

答案 1 :(得分:4)

更准确地说,在ASP.NET Core中,您可以使用Startup方法在Configure类中对其进行如下配置:

app.UseCors(x =>
{
     x.WithExposedHeaders("Content-Disposition");
     // .. omitted
});