首頁 > web前端 > js教程 > 主體

如何在沒有 jQuery 或序列化的情況下將 HTML5 FormData 轉換為 JSON?

DDD
發布: 2024-10-30 00:50:29
原創
663 人瀏覽過

How to Convert HTML5 FormData to JSON Without jQuery or Serialization?

將HTML5 FormData 轉換為JSON:逐步指南

問題:

問題:Form 的項目JSON,無需jQuery 或序列化整個物件。

答案:

  1. 要將FormData 物件的項目轉換為JSON,請依照下列步驟操作:
  2. 建立一個空物件來儲存鍵/值對。
  3. 使用迴圈或 forEach 等方法迭代 FormData 物件。
  4. 對於每個條目,設定鍵將空物件中的值改為條目的名稱,並將值改為其值。

使用 JSON.stringify() 方法將物件轉換為 JSON。

<code class="js">var object = {};
formData.forEach(function(value, key){
    object[key] = value;
});
var json = JSON.stringify(object);</code>
登入後複製
使用forEach 的範例:

<code class="js">var object = {};
formData.forEach((value, key) => object[key] = value);
var json = JSON.stringify(object);</code>
登入後複製
使用ES6 箭頭函數的範例:

使用ES6 箭頭函數的範例:

使用ES6 箭頭函數的範例:
<code class="js">var object = {};
formData.forEach((value, key) => {
    if(!Reflect.has(object, key)){
        object[key] = value;
        return;
    }
    if(!Array.isArray(object[key])){
        object[key] = [object[key]];    
    }
    object[key].push(value);
});</code>
登入後複製

支援多選清單:

如果您的表單包含多重選擇清單或其他具有多個值的元素,您可以使用以下方法:

將FormData 傳送至伺服器:

如果您打算將表單資料提交至伺服器,您可以跳過JSON 轉換,直接使用XMLHttpRequest 或Fetch API 請求傳送FormData 物件。

注意: JSON.stringify() 方法可能不支援所有類型的物件。如果您的物件包含不支援的類型,您可能需要實作自訂 toJSON() 方法來指定序列化邏輯。

以上是如何在沒有 jQuery 或序列化的情況下將 HTML5 FormData 轉換為 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!