Jquery发布到Servlet

时间:2011-03-24 09:55:23

标签: java ajax json servlets post

我在客户端有以下代码:

      <script src="http://code.jquery.com/jquery-1.5.js"></script>
   <script>
    $(document).ready(function() {
   $("a").click(function() {
   //var orderId =  $("#orderId").val();
   $.post("test", { orderId : "John"},
   function(data) {
     alert("Data Loaded: " + data);
   });
   });
 });
    </script>

服务器端:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        PrintWriter writer =  response.getWriter();
        try{
           String orderId = request.getAttribute("orderId").toString();
           writer.write(orderId);
           writer.close();
           }
       catch(Exception ex)
      {
      ex.getStackTrace();
      }
    }

我的

request.getAttribute("orderId")

为null,我得到null引用exeption。我究竟做错了什么?

2 个答案:

答案 0 :(得分:12)

我想你想要request.getParameter("orderId")。属性仅供服务器端处理请求时使用。参数包含来自客户端的请求数据。

答案 1 :(得分:2)

您应该使用getParameter方法而不是getAttribute。

request.getParameter("orderId")

getParameter()将检索客户端已提交的值。当您将请求提交给另一个资源(服务器端)时,应该使用getAttribute()。