Bei der Übertragung von Daten von einem Browser verarbeitet Axios automatisch bestimmte Anforderungstextformate und legt entsprechende Content-Type-Header fest. Wenn Sie Daten als Multipart-/Formulardaten senden und den Content-Type-Header manuell konfigurieren möchten, können Sie dies tun, indem Sie eine FormData-Instanz als Anforderungstext übergeben. Axios setzt den Header automatisch auf multipart/form-data; border=${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>
Bei der Verwendung von Axios in Node.js werden Content-Type-Header nicht automatisch aus FormData abgeleitet Instanzen. Um dies zu umgehen, können Sie einen Anfrage-Interceptor verwenden.
<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>
Oder Sie können die Header manuell zusammenführen, wenn Sie eine Anfrage stellen.
<code class="javascript">axios.post('user/login', body, { headers: { 'X-Any-Other-Headers': 'value', ...body.getHeaders(), }, });</code>
Zusammenfassend lässt sich sagen, dass Sie durch die Verwendung von FormData-Instanzen und die entsprechende Konfiguration der Anforderungsoptionen Daten von loginService.js an Services/index.js übergeben und mehrteilige/Formulardatenanforderungen nahtlos verarbeiten können.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Daten mit FormData an Dienste in Axios?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!