Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengekodkan Objek JavaScript dengan Cekap ke dalam Rentetan Pertanyaan?

Bagaimanakah Saya Boleh Mengekodkan Objek JavaScript dengan Cekap ke dalam Rentetan Pertanyaan?

DDD
Lepaskan: 2024-12-06 11:45:12
asal
808 orang telah melayarinya

How Can I Efficiently Encode a JavaScript Object into a Query String?

Pengekodan Objek JavaScript yang Cekap untuk Rentetan Pertanyaan

Pengekodan objek JavaScript ke dalam rentetan untuk penghantaran melalui permintaan GET boleh menjadi tugas yang membosankan. Syukurlah, terdapat penyelesaian JavaScript mudah yang tidak bergantung pada perpustakaan pihak ketiga atau jQuery.

Begini cara anda boleh melakukannya:

serialize = function(obj) {
  var str = [];
  for (var p in obj)
    if (obj.hasOwnProperty(p)) {
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }
  return str.join("&");
}
Salin selepas log masuk

Fungsi ini mengambil objek JavaScript sebagai input dan mengembalikan rentetan yang dikodkan. Proses pengekodan melibatkan:

  • Menyatukan sifat objek
  • Pengekodan URL kedua-dua nama dan nilai harta
  • Menggabungkan pasangan yang dikodkan dengan ampersand (&) pemisah

Untuk menggambarkan, pertimbangkan pengekodan yang berikut objek:

{
  foo: "hi there",
  bar: "100%"
}
Salin selepas log masuk

Menggunakan fungsi bersiri:

console.log(serialize({
  foo: "hi there",
  bar: "100%"
}));
Salin selepas log masuk

Akan mengeluarkan rentetan yang dikodkan berikut:

foo=hi%20there&bar=100%25
Salin selepas log masuk

Rentetan yang dikodkan ini kemudiannya boleh dihantar sebagai rentetan pertanyaan dalam permintaan GET tanpa sebarang kerumitan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekodkan Objek JavaScript dengan Cekap ke dalam Rentetan Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan