Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menambah atau Mengemas kini Parameter Rentetan Pertanyaan secara Dinamik dalam JavaScript?

Bagaimanakah Saya Boleh Menambah atau Mengemas kini Parameter Rentetan Pertanyaan secara Dinamik dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 08:50:09717semak imbas

How Can I Dynamically Add or Update Query String Parameters in JavaScript?

Mengubah Suai Parameter Rentetan Pertanyaan Secara Dinamik

Dalam pembangunan web, selalunya perlu untuk memanipulasi parameter rentetan pertanyaan dalam URL atas pelbagai sebab. Menggunakan JavaScript dan jQuery, ini boleh dicapai dengan mudah. Begini caranya untuk menambah atau mengemas kini parameter rentetan pertanyaan:

Menambah Parameter Rentetan Pertanyaan

Jika parameter rentetan pertanyaan tidak wujud dalam URL, anda hanya boleh menambahkannya menggunakan sintaks berikut:

var newURL = window.location.href + "&parameter=value";

Ini menambahkan parameter "parameter" dengan nilai "nilai" kepada yang sedia ada URL.

Mengemas kini Parameter Rentetan Pertanyaan

Jika parameter sudah ada dalam URL, anda boleh mengemas kini nilainya menggunakan ungkapan biasa. Berikut ialah fungsi pembantu yang melaksanakannya:

function updateQueryStringParameter(uri, key, value) {
  var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
  var separator = uri.indexOf('?') !== -1 ? "&" : "?";
  if (uri.match(re)) {
    return uri.replace(re, '' + key + "=" + value + '');
  }
  else {
    return uri + separator + key + "=" + value;
  }
}

Fungsi ini mengambil URI asal, kunci parameter untuk dikemas kini dan nilai baharunya. Ia menggantikan nilai sedia ada parameter dengan yang baharu atau menambahkan parameter pada URI jika ia tidak wujud.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah atau Mengemas kini Parameter Rentetan Pertanyaan secara Dinamik dalam 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