如何从 Axios 获取请求中获取响应头参数?

Posted

技术标签:

【中文标题】如何从 Axios 获取请求中获取响应头参数?【英文标题】:How to get response headers parameter from Axios get request? 【发布时间】:2022-01-03 06:20:50 【问题描述】:

我想从 axios get 请求的响应头中读取 csrf 令牌,我将使用 axios post 请求作为请求头发送该请求。我的代码如下:

const FileApi= 
  list: (type:string,period:string): AxiosPromise<FilesL[]> =>
    axios.get(`upload/$type/$period`)
      .then(res=> console.log(res.headers.get("X-CSRF-TOKEN"))),
  upload: (file:File,type:string,period:string): AxiosPromise<string> => 
    return axios.post(`file/upload/$type/$period`,form,
      headers :
        'Content-Type':'multipart/form-data',
        'token' : X-CSRF-TOKEN,
      ,
    );
  

我无法从获取请求中获取令牌,因此发布请求无法正常工作,因为 X-CSRF-TOKEN 未定义。

【问题讨论】:

【参考方案1】:

应该只是res.headers['X-CSRF-TOKEN']

【讨论】:

用 res 写的时候报错。我认为它正在返回一个承诺,因此我们无法获取这样的数据。 你是怎么调用函数的?您在 list 上的类型响应错误,它只返回 Promise&lt;void&gt;,因为您没有从 .then 返回任何内容

以上是关于如何从 Axios 获取请求中获取响应头参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Axios reactjs 获取 303 请求的响应头

前端怎么在响应头和请求头里面拿数据?

从axios响应头中获取值[重复]

无法从 axios POST 请求中获得响应(React)

如何获取响应头信息

axios 调用从第一个 api 获取响应并传递到第二个 api