Tôi nên chuyển các giá trị chuỗi truy vấn trong yêu cầu jQuery Ajax như thế nào? Tôi hiện đang làm chúng như sau nhưng tôi chắc chắn có một cách sạch hơn không yêu cầu tôi phải mã hóa thủ công.
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
Tôi đã thấy các ví dụ trong đó các tham số chuỗi truy vấn được truyền dưới dạng một mảng nhưng các ví dụ này tôi đã thấy không sử dụng $.ajax()
mô hình, thay vào đó chúng đi thẳng vào $.get()
. Ví dụ:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Tôi thích sử dụng định dạng $ .ajax () như định dạng mà tôi đã từng sử dụng (không có lý do đặc biệt chính đáng - chỉ là một sở thích cá nhân).
Chỉnh sửa 09/04/2013:
Sau khi câu hỏi của tôi bị đóng (vì "Quá cục bộ"), tôi đã tìm thấy một câu hỏi liên quan (giống hệt nhau) - với 3 câu hỏi không kém (Tôi xấu vì không tìm thấy nó ở vị trí đầu tiên):
Sử dụng jquery để tạo POST, làm thế nào để cung cấp đúng tham số 'dữ liệu'?
Điều này đã trả lời câu hỏi của tôi một cách hoàn hảo, tôi thấy rằng làm theo cách này dễ đọc hơn nhiều và tôi không cần sử dụng thủ công encodeURIComponent()
trong các giá trị URL hoặc DATA (đó là điều tôi thấy không rõ ràng trong câu trả lời của bipen). Điều này là do data
giá trị được mã hóa tự động thông qua $.param()
). Chỉ trong trường hợp này có thể được sử dụng cho bất kỳ ai khác, đây là ví dụ tôi đã sử dụng:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});