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.
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
},
Komentar yang paling membantu
Anda dapat menggunakan
params
untuk menentukan string kueri.