首頁 > web前端 > js教程 > 如何將 HTML5 FormData 轉換為 JSON 以進行客戶端-伺服器通訊?

如何將 HTML5 FormData 轉換為 JSON 以進行客戶端-伺服器通訊?

Linda Hamilton
發布: 2024-10-26 18:33:30
原創
672 人瀏覽過

How to Convert HTML5 FormData to JSON for Client-Server Communication?

將 HTML5 FormData 轉換為 JSON

將 HTML5 FormData 物件轉換為 JSON 允許將表單資料序列化為機器可讀的格式。這對於在客戶端和伺服器之間傳輸資料非常有用。

使用自訂物件和JSON.stringify 的方法

無需jQuery 或序列化FormData 項目即可將FormData 項目轉換為JSONData 項目:

<code class="javascript">var object = {};
formData.forEach(function(value, key){
    object[key] = value;
});
var json = JSON.stringify(object);</code>
登入後複製

更新1:ES6 箭頭函數

使用ES6 箭頭函數:

<code class="javascript">var object = {};
formData.forEach((value, key) => object[key] = value);
var json = JSON.stringify(object);</code>
登入後複製

更新2:支援多值元素

更新2:支援多值元素

<code class="javascript">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);
});
var json = JSON.stringify(object);</code>
登入後複製

更新2:支援多值元素

對於多重選擇清單或其他具有多個值的表單元素:

<code class="javascript">var request = new XMLHttpRequest();
request.open('POST', 'http://example.com/submitform.php');
request.send(formData);</code>
登入後複製

更新3:直接傳送FormData

<code class="javascript">fetch('http://example.com/submitform.php', {
  method: 'POST',
  body: formData
}).then((response) => { 
  // do something with response here... 
});</code>
登入後複製

透過XMLHttpRequest 將FormData 傳送到伺服器:

或使用Fetch API:

更新4:複雜的自訂toJSON 方法物件對於自訂對象,定義一個toJSON 方法來序列化其內容。有關 JSON.stringify 限制的更多信息,請參閱 MDN 文件。

以上是如何將 HTML5 FormData 轉換為 JSON 以進行客戶端-伺服器通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板