Bagaimana seharusnya saya meneruskan nilai string kueri dalam permintaan jQuery Ajax? Saat ini saya melakukannya sebagai berikut tetapi saya yakin ada cara yang lebih bersih yang tidak mengharuskan saya untuk menyandikan secara manual.
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
Saya telah melihat contoh di mana parameter string kueri dilewatkan sebagai array tetapi contoh-contoh ini saya lihat tidak menggunakan $.ajax()
model, sebaliknya mereka langsung menuju $.get()
. Sebagai contoh:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Saya lebih suka menggunakan format $ .ajax () karena sudah biasa (tidak ada alasan yang bagus - hanya preferensi pribadi).
Sunting 09/04/2013:
Setelah pertanyaan saya ditutup (sebagai "Terlalu Lokal") saya menemukan pertanyaan terkait (identik) - dengan 3 upvotes tidak kurang (Buruk saya karena tidak menemukannya di tempat pertama):
Menggunakan jquery untuk membuat POST, bagaimana cara memasok parameter 'data' dengan benar?
Ini menjawab pertanyaan saya dengan sempurna, saya menemukan bahwa melakukannya dengan cara ini jauh lebih mudah dibaca & saya tidak perlu menggunakan secara manual encodeURIComponent()
di URL atau nilai-nilai DATA (yang saya temukan tidak jelas dalam jawaban bipen). Ini karena data
nilai dikodekan secara otomatis melalui $.param()
). Kalau-kalau ini bisa berguna bagi orang lain, ini adalah contoh saya pergi dengan:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});