從瀏覽器傳輸資料時,Axios 會自動處理某些請求正文格式並設定適當的Content-Type 標頭。如果您想以 multipart/form-data 形式傳送資料並手動設定 Content-Type 標頭,您可以透過傳遞 FormData 實例作為請求正文來實現。 axios會自動將header設定為multipart/form-data; 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>
在Node.js 中使用Axios 時,它不會自動從FormData 推斷出Content-Type 標頭實例。若要解決此問題,您可以使用請求攔截器。
<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>
或者,您可以在發出請求時手動合併標頭。
<code class="javascript">axios.post('user/login', body, { headers: { 'X-Any-Other-Headers': 'value', ...body.getHeaders(), }, });</code>
總之,透過使用FormData 實例並適當配置請求選項,您可以將資料從loginService.js 傳遞到Services/index.js 並無縫處理多部分/表單資料請求。
以上是如何使用FormData將資料傳遞到axios中的服務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!