jQuery で GET リクエストにパラメータを渡す方法 質問する

jQuery で GET リクエストにパラメータを渡す方法 質問する

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/09/04:

私の質問が(「ローカライズされすぎている」として)閉じられた後、関連する(同一の)質問を見つけました。なんと 3 つの賛成票が付いていました(最初に見つけられなかったのは私のミスです)。

jQuery を使用して POST を作成する場合、 'data' パラメータを適切に指定するにはどうすればよいでしょうか?

これは私の質問に完璧に答えてくれました。この方法の方が読みやすく、URLやDATA値を手動で使用する必要がないことがわかりました(bipenの回答では不明瞭でした)。これは、値が自動的にエンコードされるencodeURIComponent()ためです。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) {

    }
});

ベストアンサー1

dataajax のデータ オプションを使用します。ajaxのオプションと、type送信方法を定義するによってデータ オブジェクトをサーバーに送信できます(POSTまたはGET)。デフォルトのタイプはGETメソッドです。

これを試して

$.ajax({
  url: "ajax.aspx",
  type: "get", //send it through get method
  data: { 
    ajaxid: 4, 
    UserID: UserID, 
    EmailAddress: EmailAddress
  },
  success: function(response) {
    //Do Something
  },
  error: function(xhr) {
    //Do Something to handle error
  }
});

そして、(PHPを使用している場合は)次のようにしてデータを取得できます。

 $_GET['ajaxid'] //gives 4
 $_GET['UserID'] //gives you the sent userid

aspxではそうだと思います(間違っているかもしれません)

 Request.QueryString["ajaxid"].ToString(); 

おすすめ記事