You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何浏览器可见HttpResponse响应头,代码中却无法访问?

问题解决:自定义响应头客户端无法访问的原因及修复

这是CORS跨域限制导致的核心问题:
浏览器在处理跨域请求时,默认只允许客户端读取「简单响应头」(如Content-Type、Cache-Control等)。你自定义的auth-token、refresh-token属于非简单响应头,必须在服务端明确配置允许暴露给前端,否则浏览器会在把响应交给JS代码前过滤掉这些头——这就是为什么Network面板能看到完整响应头,但代码里读不到的原因。

修复步骤(针对Ktor服务端)

  1. 确保服务端已安装并配置CORS插件,在你的Ktor应用配置中添加暴露自定义头的规则:
install(CORS) {
    // 替换为你的前端实际域名(比如本地开发的http://localhost:5173)
    allowHost("http://localhost:5173")
    allowCredentials = true
    // 明确指定要暴露给前端的自定义响应头
    exposeHeaders(listOf("auth-token", "refresh-token", "id"))
}
  1. 保持你现有注册接口的header设置不变,重新启动服务即可。

验证

修改完成后,再次触发注册请求,客户端代码就能正常读取auth-token和refresh-token响应头了。

内容的提问来源于stack exchange,提问作者bartek1009x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:57:36