Dalam pembangunan bahagian hadapan, kita selalunya perlu menukar rentetan tertentu ke dalam format yang dikodkan URL. Pengekodan URL adalah untuk menukar beberapa aksara khas kepada kod ASCII yang sepadan supaya ia boleh dihantar dalam URL. Walaupun JavaScript menyediakan kaedah encodeURI
dan encodeURIComponent
untuk pengekodan URL, dalam beberapa kes, kami juga perlu menggunakan jQuery untuk melaksanakan proses ini. Artikel ini menerangkan cara menggunakan jQuery untuk menukar rentetan kepada format yang dikodkan URL.
Pengekodan URL ialah kaedah menukar rentetan kepada format selamat URL untuk memudahkan penghantaran URL. Pengekodan URL menukar beberapa huruf, nombor dan simbol kepada persamaan ASCII mereka, didahului dengan tanda peratus. Contohnya, kod ASCII untuk ruang ialah 32, jadi ia ditukar kepada %20
dalam pengekodan URL.
Senario penggunaan biasa untuk pengekodan URL termasuk:
&
, =
, dsb. Dalam jQuery, kita boleh menggunakan kaedah $.param()
untuk menyerikan objek ke dalam urutan pengekodan URL (ini juga lalai jQuery dalam permintaan AJAX kaedah bersiri yang digunakan). Tetapi bagaimana jika kita perlu mengekod URL rentetan? Pada masa ini kita boleh menggunakan kaedah encodeURIComponent()
untuk mencapainya, iaitu sama seperti dalam JavaScript. Contohnya, kod berikut menukar rentetan Hello, world!
ke dalam format berkod URL:
var encoded = encodeURIComponent('Hello, world!'); console.log(encoded); // "Hello%2C%20world%21"
Dalam kod di atas, kaedah encodeURIComponent()
menukar koma dan ruang kepada %2C
dan %20
.
Sekarang kita tahu cara menggunakan kaedah encodeURIComponent()
untuk melaksanakan pengekodan URL dalam jQuery, kita boleh merangkumnya ke dalam fungsi untuk mudah digunakan semula dalam kod. Contohnya, kod berikut:
function urlEncode(str) { return encodeURIComponent(str) .replace(/[!'()*]/g, function(c) { return '%' + c.charCodeAt(0).toString(16); }); }
Dalam kod di atas, kami mula-mula menggunakan kaedah encodeURIComponent()
untuk mengekod URL rentetan, dan kemudian menggunakan ungkapan biasa untuk menukar beberapa aksara yang tiada dalam spesifikasi pengekodan URL ke dalam kod ASCII mereka. Contohnya, !'()*
aksara ditukar kepada %21%27%28%29%2A
.
Dalam artikel ini, kami memperkenalkan konsep dan senario penggunaan pengekodan URL, dan menunjukkan cara menggunakan kaedah $.param()
jQuery dan kaedah encodeURIComponent()
untuk melaksanakan pengekodan URL. Kami juga merangkum kaedah encodeURIComponent()
ke dalam fungsi untuk memudahkan penggunaan dalam pembangunan sebenar. Saya harap artikel ini akan membantu semua orang memahami dan menggunakan pengekodan URL.
Atas ialah kandungan terperinci format pengekodan url penukaran rentetan jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!