Как я должен передавать значения строки запроса в запросе jQuery Ajax? В настоящее время я делаю их следующим образом, но я уверен, что есть более чистый способ, который не требует от меня кодирования вручную.
$.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-мя ответами не менее (Мой плохой, потому что я не нашел его в первую очередь):
Используя jquery для создания POST, как правильно указать параметр 'data'?
Это отлично ответило на мой вопрос, я обнаружил, что делать это таким образом гораздо проще для чтения, и мне не нужно вручную использовать значения encodeURIComponent()
URL или DATA (что я нашел неясным в ответе Бипена). Это потому, что 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) {
}
});