Como devo transmitir valores de cadeia de consulta em uma solicitação do jQuery Ajax? Atualmente, eu os faço da seguinte maneira, mas tenho certeza de que existe uma maneira mais limpa que não exige que eu codifique manualmente.
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
Eu já vi exemplos em que os parâmetros da string de consulta são passados como uma matriz, mas esses exemplos que eu vi não usam o $.ajax()
modelo, em vez disso, eles vão direto para $.get()
. Por exemplo:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Prefiro usar o formato $ .ajax (), pois é o que estou acostumado (sem uma razão particularmente boa - apenas uma preferência pessoal).
Editar 09/04/2013:
Depois que minha pergunta foi encerrada (como "Too Localized"), encontrei uma pergunta relacionada (idêntica) - com três votos positivos (meu pior por não encontrá-la em primeiro lugar):
Usando jquery para criar um POST, como fornecer corretamente o parâmetro 'data'?
Isso respondeu minha pergunta perfeitamente, e achei que fazê-lo dessa maneira é muito mais fácil de ler e não preciso usar manualmente encodeURIComponent()
os valores de URL ou DATA (que é o que eu achei incerto na resposta do bipen). Isso ocorre porque o data
valor é codificado automaticamente via $.param()
). Caso isso possa ser útil para qualquer outra pessoa, este é o exemplo com o qual eu fui:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});