Cara yang lebih baik:
komponen encodeURIC lolos dari semua karakter kecuali yang berikut:alphabetic, decimal digits, - _ . ! ~ * ' ( )
Untuk menghindari permintaan yang tidak terduga ke server, Anda harus memanggil komponen encodeURICon pada parameter yang dimasukkan pengguna yang akan diteruskan sebagai bagian dari URI. Misalnya, pengguna dapat mengetik "Thyme & time = lagi" untuk komentar variabel. Tidak menggunakan komponen encodeURICon pada variabel ini akan memberikan komentar = Thyme% 20 & waktu = lagi. Perhatikan bahwa tanda dan tanda yang sama menandai pasangan kunci dan nilai baru. Jadi alih-alih memiliki kunci komentar POST sama dengan "Thyme & time = again", Anda memiliki dua kunci POST, satu sama dengan "Thyme" dan satu lagi (waktu) sama dengan lagi.
Untuk aplikasi / x-www-form-urlencoded (POST), per http://www.w3.org/TR/html401/interac...m-content-type , spasi harus diganti dengan '+', jadi orang mungkin ingin mengikuti penggantian komponen encodeURIC dengan penggantian tambahan "% 20" dengan "+".
Jika seseorang ingin lebih ketat dalam mematuhi RFC 3986 (yang mencadangkan!, ', (,), Dan *), meskipun karakter ini tidak memiliki penggunaan pembatas URI yang diformalkan, hal berikut dapat digunakan dengan aman:
function fixedEncodeURIComponent (str) {
return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
}
$.param
.