axios 获取带有正文和标头的请求

问题描述 投票:0回答:2

我怎么能这样,将带有授权令牌的正文参数和标头发送到这里

const searchByDate = async ({ date1, date2 }) => {
  const tokenApp = window.localStorage.getItem('token');
  const { data: res } = await axios.get(`${baseUrl}/search`, {
    data: { date1: date1, date2: date2 },
    headers: { Authorization: `${tokenApp}` },
  });
  return res;
};

到目前为止它给我一个错误缺少所需的请求正文

javascript api axios get
2个回答
3
投票

一般来说GET请求的

body
是没有意义的,所以axios不支持。

如果你阅读了 axios 配置文档,你会发现

//

data
是作为请求体发送的数据
// 仅适用于请求方法 'PUT'、'POST'、'DELETE 和 'PATCH'

您可以在 HTTP GET with request body 了解更多原因。


如果您想在 GET 请求中发送数据,请使用

params
属性

//

params
是要随请求一起发送的 URL 参数
// 必须是普通对象或 URLSearchParams 对象


0
投票

axios中的get方法中没有body相关的字段可以通过URL中的query获取数据来传递数据 像这样:

const searchByDate = async ({ date1, date2 }) => {
  const tokenApp = window.localStorage.getItem('token');
  const { data: res } = await axios.get(`${baseUrl}/search?data1=${date1}&data2=${date2}`, {
    headers: { Authorization: `${tokenApp}` },
  });
  return res;
};
© www.soinside.com 2019 - 2024. All rights reserved.