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

无法在JQUERY AJAX的GET请求中传递API密钥(授权令牌)

排查000webhost部署后AJAX请求丢失API令牌的问题

我来帮你捋捋这个问题——本地XAMPP环境一切正常,Postman测API也没问题,偏偏部署到000webhost就报400错误说“API Key is missing”,大概率是请求头的传递环节出了问题,或者虚拟主机的服务器配置限制导致令牌没被正确读取。下面是几个你可以挨个尝试的排查方向:

1. 先确认AJAX请求真的带上了令牌头

打开浏览器的开发者工具(按F12切换到Network面板),找到那个失败的GET请求,查看它的Request Headers,确认你用来传递令牌的头(比如Authorization或者自定义的X-API-Key)是不是真的被发送出去了。

有时候部署后会遇到这些情况:

  • 前端代码里的令牌变量因为环境差异变成了空值(比如本地依赖的环境变量没同步到虚拟主机)
  • 某些前端打包工具或者缓存机制,导致AJAX配置没生效

举个jQuery AJAX的正确配置示例,你可以对比下自己的代码:

$.ajax({
  url: 'https://alientechno.000webhostapp.com/step_muzic/v1/get_owner_main_page',
  type: 'GET',
  headers: {
    // 如果你用Bearer令牌
    'Authorization': 'Bearer ' + yourAccessToken,
    // 或者自定义API Key头
    // 'X-API-Key': yourApiKey
  },
  success: function(res) {
    // 处理返回结果
  },
  error: function(xhr) {
    console.log('请求错误:', xhr.responseText);
  }
});

2. 检查000webhost的服务器是否过滤了请求头

有些虚拟主机服务商默认会过滤掉一些请求头,或者对Authorization这类标准头有特殊处理,导致PHP代码读不到。

如果你的API是用$_SERVER['HTTP_AUTHORIZATION']读取令牌,试试改成读取$_SERVER['REDIRECT_HTTP_AUTHORIZATION']——部分服务器在重定向请求时,会把原请求头加上REDIRECT_前缀。

另外,也可以换用自定义请求头(比如X-API-Key),然后在PHP里用$_SERVER['HTTP_X_API_KEY']读取,这种自定义头通常不容易被过滤。

3. 排查是否存在跨域问题

虽然本地环境没问题,但部署后可能出现前端和API不同源的情况(比如前端在另一个子域名下),这时候浏览器会发送OPTIONS预检请求,如果API没配置CORS允许携带自定义头,浏览器就会拦截请求头。

在你的API PHP代码开头加上CORS配置试试:

// 允许指定前端域名,*是允许所有,建议上线后改成你的前端域名
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
// 这里要包含你用来传令牌的请求头
header("Access-Control-Allow-Headers: Content-Type, Authorization, X-API-Key");

// 处理OPTIONS预检请求,直接返回200
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(200);
    exit();
}

4. 临时输出服务器接收的所有请求头

你可以在API的PHP代码里临时加一段调试代码,看看服务器到底接收到了哪些请求头:

var_dump($_SERVER);
exit;

然后用浏览器发送请求,查看返回的内容,确认你传递令牌的请求头是否存在。这样就能明确是请求没发对,还是服务器没收到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:38:23