Як я повинен передавати значення рядка запиту у запиті 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 (), оскільки це те, до чого я звик (немає особливо вагомих причин - лише особисті переваги).
Редагувати 04.09.2013:
Після того, як моє запитання було закрито (як "Занадто локалізовано"), я знайшов відповідне (однакове) запитання - з не меншими 3 оновленнями (Моє погано, що не знайшов його в першу чергу):
Використовуючи 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) {
}
});