首页 > 解决方案 > 如何使用axios发布查询参数?

问题描述

我正在尝试使用一些查询参数在 API 上发布。当我尝试将邮件和名字作为查询参数传递时,这适用于 PostMan / Insomnia:

 http://localhost:8000/api/mails/users/sendVerificationMail?mail=lol%40lol.com&firstname=myFirstName

但是,当我尝试使用我的 react 本机应用程序执行此操作时,出现 400 错误(无效的查询参数)。

这是发布方法:

.post(`/mails/users/sendVerificationMail`, {
  mail,
  firstname
})
.then(response => response.status)
.catch(err => console.warn(err));

(我的邮件和名字是 console.logged 如下:lol@lol.commyFirstName)。

所以我不知道如何在我的请求中使用 Axios 传递查询参数(因为现在,它正在传递data: { mail: "lol@lol.com", firstname: "myFirstName" }.

标签: javascriptmysqlpostaxios

解决方案


帖子的 axios 签名是axios.post(url[, data[, config]]). 所以你想在第三个参数中发送 params 对象:

.post(`/mails/users/sendVerificationMail`, null, { params: {
  mail,
  firstname
}})
.then(response => response.status)
.catch(err => console.warn(err));

这将发布一个带有两个查询参数的空正文:

POST http://localhost:8000/api/mails/users/sendVerificationMail?mail=lol%40lol.com&firstname=myFirstName


推荐阅读