Javascript 如何在jQuery中获取POST变量

Javascript 如何在jQuery中获取POST变量,javascript,jquery,python,ajax,Javascript,Jquery,Python,Ajax,可能重复: 我有以下HTML: <form action='.' method='post'>{% csrf_token %} <div class="parameters"> Show <select name="earnings_filter"> <option value="all">Total earnings</option>

可能重复:

我有以下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>

是否有一种方法可以获取POST中提交的变量,例如选择了哪个选项(我需要获取大约10个其他变量)。或者我需要使用jQuery选择器来获取每个的值吗?

创建几个隐藏类型的输入值怎么样

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

创建几个类型为hidden的输入值如何

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

如果所有值都在表单的输入元素中

$("#formId").serialize()

如果所有值都在表单的输入元素中

$("#formId").serialize()

您可以
序列化该表单并发送到服务器页面

$.post("yourServerPage.php", $("form").serialize(),function(data){
  //Do whatever with the result from ajax server page.
});

您可以
序列化该表单并发送到服务器页面

$.post("yourServerPage.php", $("form").serialize(),function(data){
  //Do whatever with the result from ajax server page.
});
如果您使用的是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
      }
    });
});
此处
#container
指向页面加载时属于DOM的
#submit#u财务
持有人

如果您使用的是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
      }
    });
});

这里的
#container
指向在页面加载时属于DOM的
#submit#u financials
的持有者。

不幸的是,POST变量在从客户端到服务器的请求中通信,但它们不会自动包含在从服务器返回到客户端的响应中。这是将它们与GET变量区分开来的原因之一

如果您的数据不是过长,您可能需要切换到GET方法。然后,您可以使用类似于此问题中列出的函数检索变量:


或者,如果您可以访问服务器端代码,则可以在返回的HTML中包含这些变量;然而,这完全是另一个问题:)

不幸的是,POST变量在从客户端到服务器的请求中进行了通信,但它们不会自动包含在从服务器返回到客户端的响应中。这是将它们与GET变量区分开来的原因之一

如果您的数据不是过长,您可能需要切换到GET方法。然后,您可以使用类似于此问题中列出的函数检索变量:


或者,如果您可以访问服务器端代码,则可以在返回的HTML中包含这些变量;然而,这完全是另一个问题:)

所有的输入都是由用户选择的——我该如何将它们放入隐藏类型?这样您就没有任何服务器端语言的访问权限了?如果是这样的话,就没有办法访问POST数据。但是,所有输入都是由用户选择的--我如何将它们放入隐藏类型?这样,您就没有任何服务器端语言的访问权限了?如果是的话,就没有办法访问POST数据。