Postman POST работает, но не с осью

Отправка почтового запроса через insomnia / postman работает, дает мне правильный ответ. Однако в аксиомах я не могу заставить это работать.

Это не дает мне ошибки, это статус 200, но на самом деле не входит в систему, как это делает почтальон / бессонница. Я чувствую, что что-то не так с моей настройкой Axios

введите описание изображения здесь

введите описание изображения здесь

  const { email, password } = req.body.params
  const endpoint = `https://xxxxxxxxx.com/account/login/`

  try {
    const response = await axios({
      method: 'post',
      url: endpoint,
      data: qs.stringify({
        'customer[email]': email,
        'customer[password]': password,
        'form_type': 'customer_login'
      }),
      headers: {
        'content-type': 'application/x-www-form-urlencoded'
      }
    })
    res.status(200).send(response.data)
  } catch (error) {
    res.status(500).send(error)
  }

person anon    schedule 18.04.2021    source источник
comment
Вам не нужно структурировать данные, я не знаю, если это действительно проблема. Ссылка: github.com/axios/axios#axios-api. Кроме того, ваша конечная точка в коде отличается от конечной точки в почтальоне.   -  person FireFighter    schedule 18.04.2021
comment
Я пробовал без строковых данных, и тот же результат = /   -  person anon    schedule 18.04.2021
comment
А как насчет конечной точки? У вашей конечной точки в коде гораздо больше x, чем у той, что находится внутри почтальона.   -  person FireFighter    schedule 18.04.2021
comment
Ах, это всего лишь пример :)   -  person anon    schedule 18.04.2021
comment
В Postman щелкните значок кода в правом верхнем углу и измените формат фрагмента кода на NodeJS - Axios, и он должен сгенерировать код для воссоздания того же запроса, который вы выполнили в Postman в Axios. Дополнительная информация здесь: learning.postman.com/docs/sending-requests /   -  person Abir Taheer    schedule 18.04.2021


Ответы (2)


Есть 2 решения (надеюсь):

1 / После этого сообщения вам, вероятно, следует использовать withCredentials like это :

  const { email, password } = req.body.params
  const endpoint = `https://xxxxxxxxx.com/account/login/`

  axios.defaults.withCredentials = true;

  try {
      (...)
  }

2 / После этой статьи, вам нужно установить заголовок Content-Type на application / json, чтобы данные анализировались автоматически:

Axios также устанавливает заголовок Content-Type в application / json. Это позволяет веб-фреймворкам автоматически анализировать данные.

person Jérôme W    schedule 18.04.2021

Postman позволяет вам сгенерировать код, необходимый для воссоздания вашего запроса, используя axios.

Подробнее об этом можно узнать здесь: https://learning.postman.com/docs/sending-requests/generate-code-snippets/

Щелкните значок кода справа от Postman

Кнопка кода почтальона

Затем установите язык фрагмента кода на NodeJS - Axios, и у вас будет точный код, необходимый для воссоздания запроса. Фрагмент кода Axios

person Abir Taheer    schedule 18.04.2021