Apabila menghantar data daripada penyemak imbas, Axios secara automatik mengendalikan format badan permintaan tertentu dan menetapkan pengepala Jenis Kandungan yang sesuai. Jika anda ingin menghantar data sebagai data berbilang bahagian/bentuk dan mengkonfigurasi pengepala Jenis Kandungan secara manual, anda boleh berbuat demikian dengan menghantar contoh FormData sebagai badan permintaan. Axios akan secara automatik menetapkan pengepala kepada berbilang bahagian/data-bentuk; boundary=${form._boundary}.
<code class="javascript">import axios from 'axios'; const form = new FormData(); form.append('email', 'user@example.com'); form.append('password', 'secretpassword'); axios.post('user/login', form) .then((response) => { // Handle response }) .catch((error) => { // Handle error });</code>
Apabila menggunakan Axios dalam Node.js, ia tidak secara automatik menyimpulkan pengepala Jenis Kandungan daripada FormData contoh. Untuk mengatasi masalah ini, anda boleh menggunakan pemintas permintaan.
<code class="javascript">axios.interceptors.request.use((config) => { if (config.data instanceof FormData) { Object.assign(config.headers, config.data.getHeaders()); } return config; }, null, { synchronous: true });</code>
Atau, anda boleh menggabungkan secara manual dalam pengepala apabila membuat permintaan.
<code class="javascript">axios.post('user/login', body, { headers: { 'X-Any-Other-Headers': 'value', ...body.getHeaders(), }, });</code>
Kesimpulannya, dengan menggunakan contoh FormData dan mengkonfigurasi pilihan permintaan dengan sewajarnya, anda boleh menghantar data daripada loginService.js ke Services/index.js dan mengendalikan permintaan berbilang bahagian/form-data dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data kepada Perkhidmatan dalam Axios dengan FormData?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!