Wie soll ich Abfragezeichenfolgenwerte in einer jQuery Ajax-Anforderung übergeben? Ich mache sie derzeit wie folgt, aber ich bin sicher, dass es einen saubereren Weg gibt, bei dem ich nicht manuell codieren muss.
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
Ich habe Beispiele gesehen, in denen Abfragezeichenfolgenparameter als Array übergeben werden, aber diese Beispiele, die ich gesehen habe, verwenden nicht das $.ajax()
Modell, sondern gehen direkt zu $.get()
. Beispielsweise:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
Ich bevorzuge das Format $ .ajax (), wie ich es gewohnt bin (kein besonders guter Grund - nur eine persönliche Präferenz).
Bearbeiten 09/04/2013:
Nachdem meine Frage geschlossen wurde (als "Too Localized"), fand ich eine verwandte (identische) Frage - mit nicht weniger als 3 Upvotes (mein schlechtes, weil ich sie überhaupt nicht gefunden habe):
Wie kann man mit jquery einen POST erstellen und den Parameter 'data' richtig angeben?
Dies beantwortete meine Frage perfekt. Ich fand, dass es viel einfacher zu lesen ist und ich es nicht manuell encodeURIComponent()
in der URL oder den DATA-Werten verwenden muss (was ich in der Antwort von bipen als unklar empfunden habe). Dies liegt daran, dass der data
Wert automatisch über codiert wird $.param()
. Nur für den Fall, dass dies für andere von Nutzen sein kann, ist dies das Beispiel, mit dem ich gegangen bin:
$.ajax({
url: "ajax.aspx?ajaxid=4",
data: {
"VarA": VarA,
"VarB": VarB,
"VarC": VarC
},
cache: false,
type: "POST",
success: function(response) {
},
error: function(xhr) {
}
});