將HTML5 FormData 轉換為JSON:逐步指南
問題:Form 的項目JSON,無需jQuery 或序列化整個物件。
答案:
使用 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中文網其他相關文章!