如何在jQuery中获取POST变量

可能重复:
如何使用JQuery获取GET和POST变量?

我有以下HTML:

{% csrf_token %}
Show Total earnings HD earnings SD earnings

我需要用这个做一个ajax调用,我正在触发:

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

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

 $("#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,最好用.on()替换live() ,如果可能的话,它会更好。 所以你可以写它

 $("#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_financials持有者。

您可以serialize表单并发送到服务器页面

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

如何创建几个隐藏类型的输入值

  

给他们ID并使用以下内容访问内部数据:

 $('#sample_id').val() 

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

 $("#formId").serialize() 

不幸的是,POST变量在请求中从客户端传递到服务器,但它们不会自动包含在从服务器返回客户端的响应中。 这是使它们与GET变量区别开来的事情之一。

如果您的数据不是太长,您可能需要切换到GET方法。 然后,您可以使用此问题中列出的函数检索变量: 如何在JavaScript中获取查询字符串值?

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