Javascript 如何从ajax post请求中获取响应头

Javascript 如何从ajax post请求中获取响应头,javascript,ajax,cors,isomorphic-fetch-api,Javascript,Ajax,Cors,Isomorphic Fetch Api,我想检索服务器发送的响应头。但我得到的是空的物体。我可以在chrome开发工具中看到响应头,但无法从javascript获取它们 (我正在为xhr请求使用同构获取库。) 这是毫无疑问的 我没有使用jQuery。问题出在我的后端服务器CORS配置上。 我使用的是SpringBoot,所以为了将自定义头传递到xhr响应中,我需要按照以下方式配置SpringBoot应用程序 @Bean public WebMvcConfigurer corsConfigurer() { return new

我想检索服务器发送的响应头。但我得到的是空的物体。我可以在chrome开发工具中看到响应头,但无法从javascript获取它们

(我正在为xhr请求使用同构获取库。)

这是毫无疑问的
我没有使用jQuery。

问题出在我的后端服务器CORS配置上。 我使用的是SpringBoot,所以为了将自定义头传递到xhr响应中,我需要按照以下方式配置SpringBoot应用程序

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

如果无法从
response.headers
获取,则可能无法获取的副本。这闻起来像是CORS问题。@KevinB,但为什么我可以在chrome开发工具中看到它们?因为这些是开发工具。在开发工具中有很多东西你不能从javascript访问/做。也许这与这个问题有关?
@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                    .exposedHeaders("MyHeader");
        }
    };
}