如何使用 axios get 请求发送正文数据和标头?
Posted
技术标签:
【中文标题】如何使用 axios get 请求发送正文数据和标头?【英文标题】:How to send body data and headers with axios get request? 【发布时间】:2020-08-16 10:53:27 【问题描述】:我试过了
axios.get(url, headers:,data:)
但它不适用于这个。
【问题讨论】:
【参考方案1】:你应该参考https://github.com/axios/axios#request-config
检查数据和标题部分。
【讨论】:
很遗憾,GET 方法中的数据不被视为正文。显然 Axios 不支持 GET 方法的请求正文。奇怪的是,像 Postman 这样的工具很容易支持它。我也在寻找解决方案。【参考方案2】:你可以试试这个:
const getData = async () =>
try
const response = await axios.get(`https://jsonplaceholder.typicode.com/posts`,
method: 'GET',
body: JSON.stringify(
id: id,
title: 'title is here',
body: 'body is here',
userId: 1
),
headers:
"Content-type": "application/json; charset=UTF-8"
)
.then(response => response.json())
.then(json => console.log(json));
console.warn(response.data);
catch (error)
console.warn(error);
【讨论】:
【参考方案3】:据我所知,您无法使用 GET 请求发送正文数据。使用 get 你只能有标题。只需简单地更改为 POST,然后您就可以执行以下操作:
const bodyParameters =
key: "value",
;
const config =
headers: Authorization: `Bearer $userToken` ,
;
axios.post("http://localhost:5000/user", bodyParameters, config)
.then((res)=>
console.log(res)
)
.catch((err) => console.log(err));
;
或者如果你想通过 GET 请求发送标头
axios.get('/user',
params:
ID: 12345
)
.then(function (response)
console.log(response);
)
.catch(function (error)
console.log(error);
)
.then(function ()
// always executed
);
【讨论】:
2014 年以后的标准允许获取正文【参考方案4】://data
是要作为请求体发送的数据
// 仅适用于请求方法 'PUT'、'POST'、'DELETE 和 'PATCH'
https://***.com/a/54008789
【讨论】:
以上是关于如何使用 axios get 请求发送正文数据和标头?的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Axios GET 的正文中发送数据以在 Django 后端使用,但 request.body 的打印为空