Axios: Pourquoi devons-nous utiliser le module querystring ?

Créé le 4 mars 2017  ·  3Commentaires  ·  Source: axios/axios

J'ai passé presque toute la journée à essayer de comprendre pourquoi Axios envoyait mes données dans le mauvais format jusqu'à ce que je trouve ce http://stackoverflow.com/questions/31756756/axios-http-client-how-to-construct-http-post- url-avec-form-params. Le correctif consiste à utiliser le module 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);
});

Cependant, je pense qu'Axios devrait s'en occuper.

Commentaire le plus utile

Vous pouvez utiliser params pour spécifier les chaînes de requête.

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

Tous les 3 commentaires

Il y a déjà des instructions dans le fichier readme, il aurait donc dû être assez facile de trouver la réponse :

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

Que Axios doive ou non s'occuper automatiquement de cela n'est pas une question à laquelle je dois répondre, mais l'objectif principal de la bibliothèque est d'envoyer JSON, donc il optimise pour ce cas d'utilisation, je suppose.

Oh, merci pour ce lien. Je ne l'ai pas vu avant.

Vous pouvez utiliser params pour spécifier les chaînes de requête.

  // `params` are the URL parameters to be sent with the request
  // Must be a plain object or a URLSearchParams object
  params: {
    ID: 12345
  },
Cette page vous a été utile?
0 / 5 - 0 notes