0

重複の可能性:
JQuery で GET および POST 変数を取得する方法は?

私は次のHTMLを持っています:

<form action='.' method='post'>{% csrf_token %}
    <div class="parameters">
        Show
            <select name="earnings_filter">
                <option value="all">Total earnings</option>
                <option value="hd">HD earnings</option>
                <option value="sd">SD earnings</option>
            </select>
        <input type="submit" name="submit" class="submit float-right" value="submit" id="submit_financials"/>
    </div>
</form>

これでトリガーするajax呼び出しを行う必要があります:

$("#submit_financials").live('click', function(){
    ...
});

たとえば、どのオプションが選択されたかなど、POST で送信された変数を取得する方法はありますか (取得する必要がある変数は他に約 10 個あります)。それとも、それぞれの値を取得するために jQuery セレクターを使用する必要がありますか?

4

5 に答える 5

3
$("#submit_financials").live('click', function(){
    $.ajax({
      url: '', // script url to send
      method: 'POST', // method of sending
      data: $('form').has(this).serialize(),  // .serialize() make query string with form inputs name and value
      dataType:'json',  // expected data format returned from server, you may have something else
      success: function(response) {
          // response contains data returned from server
      }
    });
});

jQuery > 1.7 を使用している場合は、置き換えlive()たほうがよいでしょ.on()う。可能であれば、よりよいでしょう。だからあなたはそれを書くことができます

$("#container").on('click', '#submit_financials', function(){
    $.ajax({
      url: '', // script url to send
      method: 'POST', // method of sending
      data: $('form').has(this).serialize(),  // .serialize() make query string with form inputs name and value
      dataType:'json',  // expected data format returned from server, you may have something else
      success: function(response) {
          // response contains data returned from server
      }
    });
});

ここでは、ページの読み込み時に DOM に属する#containerホルダーを指します。#submit_financials

于 2012-06-04T18:18:37.457 に答える
1

すべての値がフォームの入力要素にある場合...

$("#formId").serialize()
于 2012-06-04T18:17:13.533 に答える
1

serializeフォームを作成してサーバーページに送信できます

$.post("yourServerPage.php", $("form").serialize(),function(data){
  //Do whatever with the result from ajax server page.
});
于 2012-06-04T18:17:21.840 に答える
0

非表示タイプの入力値をいくつか作成するのはどうですか

<input type="hidden" id="sample_id" value="SOMETHING" />

それらにIDを与え、以下を使用して内部のデータにアクセスします。

$('#sample_id').val()
于 2012-06-04T18:14:42.200 に答える
-1

残念ながら、POST変数はクライアントからサーバーへの要求で伝達されますが、サーバーからクライアントに戻る応答には自動的に含まれません。これは、GET変数とは一線を画すものの1つです。

データが長すぎない場合は、代わりにGETメソッドに切り替えることをお勧めします。次に、この質問にリストされているような関数を使用して変数を取得できます。JavaScriptでクエリ文字列値を取得するにはどうすればよいですか。

または、サーバー側のコードにアクセスできる場合は、返されるHTMLにこれらの変数を含めることができます。しかし、これは完全に別の質問です:)

于 2012-06-04T18:28:57.470 に答える