如何在使用jQuery post发送的post请求后获取表单参数

时间:2014-08-20 14:32:08

标签: javascript jquery html

我有一个HTML表单

$("#mainform").submit(function() {
  $.post($("#mainform").attr("action"), $("#mainform").serialize(), function(data){
    doSomething();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="mainform">
  <input type="hidden" name="myparam" value="1" />
  <input type="submit" />
</form>

如何获取随表单发送的参数,例如本例中的“myparam”?看起来回调函数的'data'参数反而返回整个页面的html。

2 个答案:

答案 0 :(得分:0)

data确实会返回整个页面。这就是功能的作用。

你想做的是

$("#mainform").submit();
$ .ajax()($ .get,$ .post等)是异步提交表单的,所以回调中的数据变量将包含响应内容(在你的情况下,你在网址的整个页面)发送表格到)

答案 1 :(得分:-1)

  

看起来像回调函数的'data'参数   返回整个页面的html。

这是正确的。

如果要在回调函数中访问表单元素,则应创建表单元素的变量。

$("#mainform").submit(function() {
            var theForm = $("#mainform");
            $.post($("#mainform").attr("action"), $("#mainform").serialize(), function(data){
                var myparam = theform.find('input [name="myparam"]');
                doSomething();

            });