Я пытаюсь опубликовать API с некоторыми параметрами запроса. Это работает с PostMan / Insomnia, когда я пытаюсь передать почту и имя в качестве параметров запроса:
http://localhost:8000/api/mails/users/sendVerificationMail?mail=lol%40lol.com&firstname=myFirstName
Однако, когда я пытаюсь сделать это с помощью своего собственного приложения, я получил ошибку 400 (недопустимые параметры запроса).
Это метод публикации:
.post(`/mails/users/sendVerificationMail`, {
mail,
firstname
})
.then(response => response.status)
.catch(err => console.warn(err));
(моя почта и имя console.infoged, как показано ниже: [email protected] и myFirstName).
Поэтому я не знаю, как передать параметры запроса с помощью Axios в моем запросе (потому что прямо сейчас он передает data: { mail: "[email protected]", firstname: "myFirstName" }.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Подпись 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
@khodekazemi .post (/mails/users/sendVerificationMail, body, {params: {mail, firstname}}) .then (response => response.status) .catch (err => console.warn (err));
В моем случае API ответил ошибкой CORS. Вместо этого я отформатировал параметры запроса в строку запроса. Он успешно опубликовал данные, а также избежал проблемы с CORS.
var data = {};
const params = new URLSearchParams({
contact: this.ContactPerson,
phoneNumber: this.PhoneNumber,
email: this.Email
}).toString();
const url =
"https://test.com/api/UpdateProfile?" +
params;
axios
.post(url, data, {
headers: {
aaid: this.ID,
token: this.Token
}
})
.then(res => {
this.Info = JSON.parse(res.data);
})
.catch(err => {
console.info(err);
});
С 2021 года вместо null мне пришлось добавить {}, чтобы он работал!
axios.post(
url,
{},
{
params: {
key,
checksum
}
}
)
.then(response => {
return success(response);
})
.catch(error => {
return fail(error);
});
как я могу отправить запрос с параметрами и телом с аксиомами?