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

向API发送POST请求时AuthToken被传入请求体而非请求头的问题

问题分析与解决:Axios POST请求头未正确设置AuthToken

嘿,我一眼就看出问题出在哪啦!你这段Axios代码的参数顺序搞错了,才导致AuthToken被当成请求体发送,而不是放在请求头里。

Axios的post方法参数规则是这样的:

  • 第一个参数:请求的URL(这个你写对了)
  • 第二个参数:要发送的请求体数据(你现在把headers配置放在这个位置了,所以它被当成请求体传给后端了)
  • 第三个参数:请求配置对象(这里才是放headers、超时时间这些配置的地方)

修正后的代码

如果你的POST请求不需要发送任何请求体内容,就传个空对象当第二个参数:

const fetchData = (id, authToken) => 
  axios.post(
    `${APIUrl}/${id}/math`,
    {}, // 无请求体时传空对象,不能省略
    { 
      headers: { ...getAuthHeaderWithContentType(authToken, "JSON") } 
    }
  )
  .then(resp => (resp && resp.data ? resp.data : null));

如果你的POST请求需要发送实际的请求体数据(比如提交表单或JSON),就把数据放在第二个参数的位置:

const fetchData = (id, authToken, postData) => 
  axios.post(
    `${APIUrl}/${id}/math`,
    postData, // 这里放你的请求体数据
    { 
      headers: { ...getAuthHeaderWithContentType(authToken, "JSON") } 
    }
  )
  .then(resp => (resp && resp.data ? resp.data : null));

这样修改后,你的AuthToken就会正确出现在请求头里,而不是请求体中啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:31:12