如何在jQuery中获取POST变量
可能重复:
如何使用JQuery获取GET和POST变量?
我有以下HTML:
我需要用这个做一个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中包含这些变量; 然而这完全是另一个问题:)