Axios: Mengapa kita harus menggunakan modul querystring?

Dibuat pada 4 Mar 2017  ·  3Komentar  ·  Sumber: axios/axios

Menghabiskan hampir sepanjang hari mencoba mencari tahu mengapa Axios mengirim data saya dalam format yang salah sampai saya menemukan ini http://stackoverflow.com/questions/31756756/axios-http-client-how-to-construct-http-post- url-dengan-bentuk-params. Cara mengatasinya adalah dengan menggunakan modul 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);
});

Namun, saya merasa Axios harus mengurus ini.

Komentar yang paling membantu

Anda dapat menggunakan params untuk menentukan string kueri.

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

Semua 3 komentar

Sudah ada instruksi di readme, jadi seharusnya cukup mudah untuk menemukan jawabannya:

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

Apakah Axios harus secara otomatis menangani ini bukan pertanyaan untuk saya jawab, tetapi fokus utama perpustakaan adalah mengirim JSON, jadi saya kira itu mengoptimalkan untuk kasus penggunaan itu.

Oh, terima kasih untuk tautan itu. Saya tidak melihatnya sebelumnya.

Anda dapat menggunakan params untuk menentukan string kueri.

  // `params` are the URL parameters to be sent with the request
  // Must be a plain object or a URLSearchParams object
  params: {
    ID: 12345
  },
Apakah halaman ini membantu?
0 / 5 - 0 peringkat