【问题标题】:How to get response headers from ajax post request如何从 ajax 发布请求中获取响应标头
【发布时间】:2017-09-15 22:04:11
【问题描述】:

我想检索服务器发送的响应标头。但我得到了空的对象。我可以在 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
        })

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

【问题讨论】:

标签: javascript ajax cors isomorphic-fetch-api


【解决方案1】:

问题出在我的后端服务器 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");
        }
    };
}

【讨论】:

    猜你喜欢
    • 2018-01-26
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多