使用Fetch API 提交表單資料時,需要考慮兩種主要格式:
使用FormData建構請求體時,資料會自動以multipart/form-data格式傳送。這是 FormData 的預設行為,無法修改。
要以application/x-www-form-urlencoded 格式發送數據,您有幾個選項:
1。 URL 編碼字串:
<code class="javascript">fetch("api/xxx", { body: "[email protected]&password=pw", headers: { "Content-Type": "application/x-www-form-urlencoded", }, method: "post", });</code>
2. URLSearchParams 物件:
<code class="javascript">const data = new URLSearchParams(); data.append("email", "example@email.com"); data.append("password", "mypassword"); fetch("api/xxx", { body: data, method: "post", });</code>
請注意,使用URLSearchParams 時無須指定標頭,因為它會自動設定正確的內容類型。
3.來自 FormData 的 URLSearchParams:
<code class="javascript">const data = new URLSearchParams(new FormData(formElement)); fetch("api/xxx", { body: data, method: "post", });</code>
此選項可讓您直接傳遞 FormData 物件來建立 URLSearchParams 物件。但是,它的瀏覽器支援可能有限,因此請務必在使用之前對其進行徹底測試。
以上是如何使用 Fetch API 以不同格式傳送表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!