Как разместить параметры запроса с помощью Axios?

Я пытаюсь опубликовать 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" }.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
128
0
206 526
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Подпись 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 30.04.2020 07:18

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

Mahmoud Elgohary 17.05.2020 15:14

В моем случае 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);
      });

Другие вопросы по теме