Axios: Почему мы должны использовать модуль querystring?

Созданный на 4 мар. 2017  ·  3Комментарии  ·  Источник: axios/axios

Провел почти весь день, пытаясь понять, почему Axios отправлял мои данные в неправильном формате, пока не нашел это http://stackoverflow.com/questions/31756756/axios-http-client-how-to-construct-http-post- URL-адрес с параметрами формы. Исправление заключается в использовании модуля querystring.

axios.post(
  '/api/v1/auth/login',
  querystring.stringify({ // <-- this is what fixed it. JSON.stringify didn't help here
    user_id: this.state.user_id,
    password: this.state.password,
    _csrf: result.data.csrfToken
  }),
  {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
.then((res) => {
  if (res.data && res.data) {
    console.log('here')
  }
})
.catch((err) => {
  console.log(err);
});

Однако я считаю, что Axios должен позаботиться об этом.

Самый полезный комментарий

Вы можете использовать params для указания строк запроса.

  // `params` are the URL parameters to be sent with the request
  // Must be a plain object or a URLSearchParams object
  params: {
    ID: 12345
  },

Все 3 Комментарий

В ридми уже есть инструкции, так что найти ответ должно было быть довольно легко:

https://github.com/mzabrskie/axios#using-applicationx-www-form-urlencoded-format

Вопрос о том, должен ли Axios автоматически заботиться об этом, не является вопросом, на который я должен ответить, но основное внимание в библиотеке уделяется отправке JSON, поэтому я думаю, что она оптимизируется для этого варианта использования.

О, спасибо за эту ссылку. Я не видел его раньше.

Вы можете использовать params для указания строк запроса.

  // `params` are the URL parameters to be sent with the request
  // Must be a plain object or a URLSearchParams object
  params: {
    ID: 12345
  },
Была ли эта страница полезной?
0 / 5 - 0 рейтинги