將資料傳遞到Axios 中的服務
問題:
解決方案: Axios 自動處理某些請求正文格式的內容類型,包括 FormData。傳遞 FormData 實例作為 data 參數將設定適當的 Content-Type 和 mime 邊界,無需手動配置。
詳細說明:
自動內容類型處理:
發送FormData 實例時,執行時會自動將Content- Type 設定為「multipart/form-data」並包含正確的mime 邊界標記。此行為可確保資料正確序列化並傳送至伺服器。範例:
以下是使用Axios 傳送FormData 實例的範例:<code class="javascript">const form = new FormData(); // Attach files and other fields to the formData instance form.append('file', fileInput.files[0]); form.append('foo', 'foo'); axios.post(url, form);</code>
處理自訂內容類型:處理自訂內容類型:
如果您想以特定格式(例如text/xml、 application/json)。範例:
<code class="javascript">const data = JSON.stringify({ foo: 'foo', bar: 'bar' }); axios.post(url, data, { headers: { 'content-type': 'application/json' }, });</code>
避免Axios v0.27.1 和v1.0.0 :
Node.js 注意事項:
何時在 Node.js 後端使用 Axios,它不會從 FormData 實例推斷 Content-Type 標頭。要解決這個問題,您可以使用請求攔截器或手動合併標頭。
jQuery $.ajax() 方法:
預設情況下,$.ajax()將有效負載傳送為「application/x-www-form-urlencoded 」並使用jQuery.param() 序列化JavaScript 資料。若要允許瀏覽器自動設定 Content-Type,請使用下列選項:
<code class="javascript">$.ajax({ url, method: 'POST', data: body, contentType: false, // Let the browser figure out the content type processData: false, // Don't attempt to serialize data });</code>
以上是如何將資料傳遞到 Axios 中的服務並確保設定正確的內容類型和邊界?的詳細內容。更多資訊請關注PHP中文網其他相關文章!