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()形式を使用することを好みます。これは、私が慣れている形式だからです(特に理由はありませんが、個人的な好みです)。
2013年9月4日編集:
私の質問が閉じられた後(「あまりにもローカライズされた」として)、私は関連する(同一の)質問を見つけました-3つの賛成票があります(そもそもそれを見つけられなかったのは悪いことです):
jqueryを使用してPOSTを作成するには、「データ」パラメータを適切に指定する方法を教えてください。
これは私の質問に完全に答えました。この方法で行うとはるかに読みやすくなりencodeURIComponent()
、URLまたはDATA値を手動で使用する必要がないことがわかりました(これはbipenの回答では不明確でした)。これは、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) {
}
});