Jak przekazywać parametry w żądaniach GET za pomocą jQuery
Jak powinienem przekazywać wartości ciągu zapytania w żądaniu Ajax jQuery? Obecnie wykonuję je w następujący sposób, ale jestem pewien, że istnieje bardziej przejrzysty sposób, który nie wymaga 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()
model, zamiast tego idą prosto do$.get()
. Na przykład:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Wolę używać formatu $ .ajax (), ponieważ jest to to, do czego jestem przyzwyczajony (nie jest to szczególnie dobry powód - tylko osobiste preferencje).
Edytuj 09/04/2013:
Po zamknięciu mojego pytania (jako „Too Localized”) znalazłem pokrewne (identyczne) pytanie - przy 3 głosach nie mniej (moje złe, że go nie znalazłem):
Używając jquery do utworzenia POST, jak poprawnie podać parametr „data”?
Odpowiadało to idealnie na moje pytanie. Odkryłem, że robienie tego w ten sposób jest znacznie łatwiejsze do odczytania i nie muszę ręcznie korzystaćencodeURIComponent()
w adresie URL lub w wartościach DATA (co jest niejasne w odpowiedzi Bipena). To dlatego, żedata
wartość jest kodowana automatycznie przez$.param()
). Na wszelki wypadek może to przydać się komuś innemu, jest to 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) {
}
});