简体   繁体   中英

Can't get all response headers from angular 2 with cors

I have an Angular 2 ( 2.1.2 ) client, ASP.NET Core as a backend with CORS enabled. Normal APIs (GET, POST, DELETE, ...) is working fine, my problem is when I try to retrieve headers from the response; particularly Content-Disposition . Here is a screen shot when I try to get a file content using Ajax.

选项请求

GET请求

As you can see there is a header called Content-Disposition in the GET response headers, but it is missing when I try to retrieve it from the Angular http service.

A quick note, I am only using CORS in development.

You need to configure the server so that it adds the response header

access-control-expose-headers: content-disposition

otherwise the browser won't make the header available to JavaScript.

To be even more precise, in ASP.NET Core, you can configure it like this in your Startup class, in the Configure method:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM