-1

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

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

        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
        })

这不是重复的 如何在 AJAX 中获取响应标头 我没有使用 jQuery。

4

1 回答 1

0

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

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                    .exposedHeaders("MyHeader");
        }
    };
}
于 2017-04-21T14:59:01.470 回答