Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengekstrak Pasangan Nilai Kunci dengan Mudah daripada Rentetan Pertanyaan JavaScript?

Bagaimanakah Saya Boleh Mengekstrak Pasangan Nilai Kunci dengan Mudah daripada Rentetan Pertanyaan JavaScript?

DDD
DDDasal
2024-11-27 08:26:13837semak imbas

How Can I Easily Extract Key-Value Pairs from a JavaScript Query String?

Rentetan Pertanyaan JavaScript

Teknik yang biasa digunakan dalam pembangunan web ialah menghantar data melalui rentetan pertanyaan. Ini sering ditemui dalam ASP.NET, di mana ia diwakili sebagai struktur kamus. Ramai pembangun mungkin mencari penyelesaian yang serupa dalam JavaScript.

Mengekstrak Pasangan Nilai Kunci

Untuk mencapai ini, seseorang boleh menggunakan sifat location.search, yang menangkap bahagian daripada URL berikutan tanda soal (?). Dalam sifat ini terdapat pasangan nilai kunci.

Fungsi Tersuai

Jika tiada perpustakaan JavaScript pra-bina yang direka khusus untuk tujuan ini, fungsi tersuai boleh dibuat :

function getQueryString() {
  var result = {}, queryString = location.search.slice(1),
      re = /([^&;=]+)=([^&;]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

Dengan fungsi ini, anda boleh mengakses parameter rentetan pertanyaan dengan mudah dengan memanggil:

var myParam = getQueryString()["myParam"];

Konvensyen Penamaan

Di luar ASP.NET, istilah "rentetan pertanyaan" lebih biasa digunakan untuk keseluruhan rentetan pasangan nilai kunci mengikut tanda soal. Pasangan nilai kunci individu dirujuk sebagai parameter, argumen atau parameter rentetan pertanyaan.

Pelaksanaan Penyemak Imbas

Malangnya, sifat location.search tidak disediakan secara asli koleksi nilai kunci atau perwakilan objek berstruktur bagi rentetan pertanyaan. Inilah sebabnya mengapa pembangun sering menggunakan fungsi tersuai atau perpustakaan luaran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Pasangan Nilai Kunci dengan Mudah daripada Rentetan Pertanyaan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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