ฉันจะส่งค่าสตริงข้อความค้นหาในคำขอ jQuery Ajax ได้อย่างไร ขณะนี้ฉันทำดังต่อไปนี้ แต่ฉันแน่ใจว่ามีวิธีที่สะอาดกว่าซึ่งไม่ต้องการให้ฉันเข้ารหัสด้วยตนเอง
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
ผมเคยเห็นตัวอย่างที่พารามิเตอร์สตริงแบบสอบถามจะถูกส่งผ่านเป็นอาร์เรย์ แต่ตัวอย่างเหล่านี้ที่ผมเคยเห็นไม่ได้ใช้รูปแบบแทนพวกเขาตรงไปที่$.ajax()
$.get()
ตัวอย่างเช่น:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
ฉันชอบที่จะใช้รูปแบบ $ .ajax () เนื่องจากเป็นสิ่งที่ฉันคุ้นเคย (โดยเฉพาะอย่างยิ่งไม่มีเหตุผล - เป็นความชอบส่วนตัว)
แก้ไข 09/04/2556:
หลังจากคำถามของฉันถูกปิด (เป็น "Too Localized") ฉันพบคำถาม (เหมือนกัน) ที่เกี่ยวข้อง - โดยมี 3 upvotes ไม่น้อย (ฉันไม่ดีที่ไม่พบในตอนแรก):
การใช้ jQuery เพื่อสร้าง POST จะต้องจัดหาพารามิเตอร์ 'data' ให้ถูกวิธีอย่างไร
สิ่งนี้ตอบคำถามของฉันอย่างสมบูรณ์แบบฉันพบว่าการทำเช่นนี้ง่ายกว่ามากในการอ่าน & ฉันไม่จำเป็นต้องใช้ด้วยตนเองencodeURIComponent()
ใน URL หรือค่า DATA (ซึ่งเป็นสิ่งที่ฉันพบว่าไม่ชัดเจนในคำตอบของ bipen) นี่เป็นเพราะdata
ค่าถูกเข้ารหัสโดยอัตโนมัติผ่าน$.param()
) ในกรณีที่คนอื่น ๆ สามารถใช้งานได้นี่คือตัวอย่างที่ฉันได้ใช้:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});