Untuk menyandikan URL, seperti yang telah dikatakan sebelumnya, Anda memiliki dua fungsi:
encodeURI()
dan
encodeURIComponent()
Alasan keduanya ada adalah bahwa yang pertama mempertahankan URL dengan risiko meninggalkan terlalu banyak hal yang tidak terhindarkan, sedangkan yang kedua mengkodekan semua yang dibutuhkan.
Dengan yang pertama, Anda dapat menyalin URL yang baru saja lolos ke bilah alamat (misalnya) dan itu akan berfungsi. Namun '&' yang tidak terhapus akan mengganggu pembatas bidang, '=' akan mengganggu nama dan nilai bidang, dan '+' akan terlihat seperti spasi. Tetapi untuk data sederhana ketika Anda ingin mempertahankan sifat URL dari apa yang Anda melarikan diri, ini berfungsi.
Yang kedua adalah semua yang perlu Anda lakukan untuk memastikan tidak ada di string Anda yang mengganggu URL. Itu membuat berbagai karakter yang tidak penting tidak terhapus sehingga URL tetap dapat dibaca manusia mungkin tanpa gangguan. URL yang disandikan dengan cara ini tidak akan lagi berfungsi sebagai URL tanpa melepaskannya.
Jadi jika Anda dapat meluangkan waktu, Anda selalu ingin menggunakan encodeURIComponent () - sebelum menambahkan pasangan nama / nilai, enkode nama dan nilai menggunakan fungsi ini sebelum menambahkannya ke string kueri.
Saya mengalami kesulitan menemukan alasan untuk menggunakan encodeURI () - Saya akan menyerahkannya kepada orang yang lebih pintar.