React Native中Axios请求未携带Server Key报错求助
解决Axios登录请求提示“请求未携带server key”的问题
排查与解决步骤:
确认SERVER_KEY变量有效性
在函数内添加console.log('当前SERVER_KEY:', SERVER_KEY),检查输出值和PostMan中使用的是否完全一致。常见问题包括变量未正确导入、环境变量加载失败、拼写错误导致值为空或不符。核对实际发送的请求细节
打开浏览器开发者工具的「Network」标签,找到登录请求,逐一检查:- 请求体(Payload/Request Body)是否包含
server_key字段 - 请求头中的
Authorization(若使用Bearer方式)是否格式正确 - URL参数里是否存在
server_key
对比PostMan的请求信息,定位不一致的地方。
- 请求体(Payload/Request Body)是否包含
检查Axios全局拦截器
确认项目中是否配置了Axios全局请求拦截器(如axios.interceptors.request.use),拦截器可能修改了请求的data、headers或url,导致server_key被意外移除或篡改。用原生Fetch排除Axios干扰
写一个极简的Fetch请求测试,验证请求逻辑是否正常:const testLogin = async () => { const res = await fetch(LOGIN, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: '测试用户名', password: '测试密码', server_key: SERVER_KEY }) }); const data = await res.json(); console.log(data); };如果该请求成功,说明问题出在Axios的配置(比如默认的
transformRequest修改了请求体)。完全匹配PostMan的请求头
复制PostMan中所有请求头(包括User-Agent等细节),在Axios请求中完全照搬。部分后端会校验特定请求头字段,缺失可能触发鉴权失败。
内容的提问来源于stack exchange,提问作者Newman
相关产品推荐
相关产品推荐

