Menukar HTML5 FormData kepada JSON: Panduan Langkah demi Langkah
Masalah: Menukar entri a Memobjek FormData kepada JSON tanpa jQuery atau mensiri keseluruhan objek.
Jawapan:
Untuk menukar entri objek FormData kepada JSON, ikut langkah ini:
Contoh Menggunakan forEach :
<code class="js">var object = {}; formData.forEach(function(value, key){ object[key] = value; }); var json = JSON.stringify(object);</code>
Contoh Menggunakan Fungsi Anak Panah ES6:
<code class="js">var object = {}; formData.forEach((value, key) => object[key] = value); var json = JSON.stringify(object);</code>
Sokongan untuk Senarai Berbilang Pilihan:
Jika borang anda mengandungi senarai berbilang pilihan atau elemen lain dengan berbilang nilai, anda boleh menggunakan pendekatan berikut:
<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>
Menghantar FormData ke Pelayan:
Jika anda berhasrat untuk menyerahkan data borang ke pelayan, anda boleh melangkau penukaran kepada JSON dan terus menghantar objek FormData menggunakan permintaan XMLHttpRequest atau Fetch API.
Awas:
Kaedah JSON.stringify() mungkin tidak menyokong semua jenis objek. Jika objek anda mengandungi jenis yang tidak disokong, anda mungkin perlu melaksanakan kaedah toJSON() tersuai untuk menentukan logik siri.
Atas ialah kandungan terperinci Bagaimana untuk Menukar HTML5 FormData kepada JSON Tanpa jQuery atau Serialisasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!