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

使用AJAX获取API响应Link响应头时未返回对应字段问题咨询

无法获取AJAX响应中Link头部的解决方法

问题背景

尝试抓取API响应的Link头部信息,操作截图如下:
操作截图
使用的jQuery AJAX请求代码:

$.ajax({
    type  : "GET",
    url   : "url_here",
    cache : false,
}).done(function( data, status, response ) {
    var headers = response.getAllResponseHeaders();
})

获取到的完整响应头列表:

cache-control: no-cache
connection: Keep-Alive
content-length: 528
content-type: text/html; charset=UTF-8
date: Fri, 27 Aug 2021 14:39:47 GMT
keep-alive: timeout=5, max=92
server: Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.33
x-powered-by: PHP/7.1.33

排查&解决步骤

  • 第一步:确认服务器是否实际返回了Link头
    直接用curl、Postman等工具直接请求目标接口,检查响应头中是否包含Link字段。如果工具返回的响应头里也没有该字段,说明是后端接口没有输出该头部,需要后端开发在接口响应逻辑中添加对应的Link头。
  • 第二步:处理CORS头部暴露限制
    浏览器的跨域资源共享(CORS)规范默认只允许JS访问6个基础响应头,其余头部默认禁止JS读取,Link头不在默认白名单内。如果确认服务器已经返回了Link头,需要后端在响应头中添加Access-Control-Expose-Headers字段,值包含Link即可:
    以当前使用的Apache+PHP环境为例,可以选择以下任意一种方式配置:
    1. 接口PHP代码中添加:
    header('Access-Control-Expose-Headers: Link');
    
    1. Apache配置或站点根目录的.htaccess文件中添加:
    Header set Access-Control-Expose-Headers "Link"
    
  • 第三步:校验本地测试环境
    不要使用file://协议打开页面测试,需要将页面部署在http/https服务下,和接口的域名、端口、协议匹配后再验证头部获取结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:57:03