为什么点击按钮保存表单里的数据时,全部的数据都没有获取到,都是空的?

通过jQuert Ajax的POST请求将表单序列化,然后提交到后台时,所有数据都为空的是怎么回事?
这是大致的代码

 <html>
<head>
....
</head>
<body>
    <div>
        <form id="nq_data">
            <div class="col-md-6 form-group">
                        <label for="name">编号</label>
                        <input type="text" class="form-control" id="openbeds_numbers" 
                            placeholder="0">
                    </div>
                    <div class="col-md-6 form-group">
                        <label for="name">数目</label>
                        <input type="text" class="form-control" id="pnurse_begin_totalnumbers" 
                            placeholder="0">
                    </div>
        </form>
    </div>
    <div class="col-md-12 form-group">
        <button style="width: 150px" type="button" class="btn btn-default"
                    onclick="savaData()">暂存</button>
    </div>

    <script type="text/javascript">

    function savaData() {
        $.post("<%=basePath%>savaData.action",
                $("nq_data").serialize(),function(data){
            if(data == "OK"){
                alert("已成功保存!");
                window.location.reload();
            }else{
                alert("保存失败!");
                window.location.reload();
            }
        });
    }
</script>   
</body>

先看下nq_data序列化后是否有数据,再看看后台的访问数据是什么

表单元素没有name属性

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>

        <title>$Title$</title>
      <script src="js/jquery-3.1.0.js">
          console.log("hhhh")
      </script>
  </head>
  <body>
<form >
    <input type="text" name="firstName"/>
    <input type="text" name="lastName"/>
</form>
<button onclick="getInfo()">序列化</button>
  <script type="text/javascript">
      function getInfo() {
              var info = $("form").serialize();
              $.post("GetInfoController",info,function (result) {
                  console.log(result);
              })
      }
  </script>
  </body>
</html>


 import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "GetInfoController",urlPatterns = {"/GetInfoController"})
public class GetInfoController extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String firstName = request.getParameter("firstName");
        String lastName = request.getParameter("lastName");
        System.out.println("firstName: "+firstName+" "+lastName);
        response.getWriter().write("success");

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

获取表单数据时应该是$('#nq_data') 你看看你是不是少了个#

nq_data 是ID ,获取的时候应该有个#,$("#nq_data")