jQuery向Servlet提交Post请求

6

我在客户端上有以下代码:

      <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();
      }
    }

my

request.getAttribute("orderId")

出现了“is null”和“null reference exception”,我做错了什么?

2个回答

13

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


1
我必须在早上喝更多的咖啡:)))))))))) - danny.lesnik

2

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

request.getParameter("orderId")

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接