如何从 ajax post 请求中获得响应 headers

How to get response headers from ajax post request

我想检索服务器发送的响应 headers。但是我越来越空 object。我可以在 chrome 开发工具中看到响应 headers,但无法从 javascript.

中获取它们

(我正在为 xhr 请求使用 isomorphic-fetch 库。)

        fetch("http://my.cors.url/postsomedata", {
            method: 'POST',
            headers: {
                Accept: 'application/json',
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(myjsobject),
        })
        .then(response => response.headers)
        .then((headers) => {
            console.log(headers); // empty object
        })

这不是重复的 How to get Response headers in AJAX 我没有使用 jQuery.

问题出在我的 back-end 服务器 CORS 配置上。 我正在使用 spring 启动,所以为了将自定义 headers 传递到 xhr 响应中,我需要按以下方式配置 spring 启动应用程序

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                    .exposedHeaders("MyHeader");
        }
    };
}