Jak mam przekazywać wartości ciągu zapytania w żądaniu Ajax jQuery? Obecnie wykonuję je w następujący sposób, ale jestem pewien, że istnieje czystszy sposób, który nie wymaga ode mnie ręcznego kodowania.
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
Widziałem przykłady, w których parametry ciągu zapytania są przekazywane jako tablica, ale te przykłady, które widziałem, nie używają $.ajax()
modelu, zamiast tego idą prosto do $.get()
. Na przykład:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Wolę używać formatu $ .ajax (), ponieważ jestem do tego przyzwyczajony (bez szczególnie dobrego powodu - tylko osobiste preferencje).
Edytuj 09.04.2013:
Po tym, jak moje pytanie zostało zamknięte (jako „Too Localized”), znalazłem powiązane (identyczne) pytanie - z nie mniejszymi 3 opiniami (Moje złe, że go nie znalazłem):
Używając jquery do wykonania testu POST, jak poprawnie podać parametr „data”?
To doskonale odpowiedziało na moje pytanie, stwierdziłem, że zrobienie tego w ten sposób jest znacznie łatwiejsze do odczytania i nie muszę ręcznie używać encodeURIComponent()
w adresie URL lub wartości DANYCH (co znalazłem niejasne w odpowiedzi Bipen). Jest tak, ponieważ data
wartość jest kodowana automatycznie przez $.param()
). Na wszelki wypadek może to być przydatne dla kogokolwiek innego, oto przykład z którym poszedłem:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});