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年4月9日の編集:
私の質問が(「ローカライズされた」として)閉じられた後、私は関連する(同一の)質問を見つけました-3つの賛成投票で間違いはありません(最初の場所で見つからなかったのが私の悪い点です):
jqueryを使用してPOSTを作成し、「データ」パラメータを適切に提供するにはどうすればよいですか?
これは私の質問に完全に回答しました。この方法で読む方がはるかに読みやすく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) {
}
});