使用 Fetch API 中的 FormData 介面發佈表單資料時,了解其預設行為非常重要。預設情況下,它使用“multipart/form-data”格式發送數據,該格式與“application/x-www-form-urlencoded”格式不相容。
如果您想要發佈表單資料為"application/x-www-form-urlencoded" 使用Fetch API,可以依照下列步驟操作:
將FormData 轉換為URLSearchParams: 使用循環迭代FormData 物件並將每個鍵值對附加到URLSearchParams 物件。
<code class="javascript">const data = new URLSearchParams(); for (const pair of new FormData(formElement)) { data.append(pair[0], pair[1]); }</code>
或,使用實驗方法:
<code class="javascript">const data = new URLSearchParams(new FormData(formElement));</code>
注意:確保您的使用前瀏覽器支援後一種方法。
使用 Fetch API 傳送資料: 發出 POST 請求,並將正文設定為 URLSearchParams 物件。不要指定 Content-Type 標頭,因為預設值為「application/x-www-form-urlencoded」。
<code class="javascript">fetch(url, { method: 'post', body: data, }) .then(…);</code>
以上是如何使用 Fetch API 將表單資料發佈為「application/x-www-form-urlencoded」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!