Как мне передать значения строки запроса в запросе jQuery Ajax? В настоящее время я делаю их следующим образом, но я уверен, что есть более чистый способ, который не требует, чтобы я кодировал вручную.Как передать параметры в запросах GET с помощью jQuery
$.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(), как это то, что я привык (не особенно хорошей причине - просто личные предпочтения).
Редактировать 09/04/2013:
После мой вопрос был закрыт (как «слишком локализованный») я не нашел связанный (идентичный) вопрос - с 3 upvotes не менее (Мой плохо не найти это в первую очередь):
Using jquery to make a POST, how to properly supply 'data' parameter?
Это ответил на мой вопрос прекрасно, я обнаружил, что делает это так гораздо легче читать & мне не нужно вручную использовать encodeURIComponent()
в URL или DATA значения (это то, что я нашел un ясно в ответе бипена). Это связано с тем, что значение 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) {
}
});
$ .get это просто ярлык для $ .ajax –
кроме, ваш Edit 09/04/2013 является почтовый запрос :-), но он, по-видимому, работает так же, как GET. – commonpike