无法使用cors从角度2获取所有响应标头

Aym*_*man 4 cors angular

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

选项请求

GET请求

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

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

Gün*_*uer 11

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

access-control-expose-headers: content-disposition
Run Code Online (Sandbox Code Playgroud)

否则浏览器不会使标头可用于JavaScript.


mod*_*777 6

更准确地说,在 ASP.NET Core 中,您可以在Startup类中的Configure方法中像这样配置它:

app.UseCors(x =>
{
     x.WithExposedHeaders("Content-Disposition");
     // .. omitted
});
Run Code Online (Sandbox Code Playgroud)