簡體   English   中英

jQuery-Servlet的AJAX調用

[英]jQuery - AJAX call of Servlet

我正在構建一個用於存儲科學出版物的Web應用程序。 我用過MySQL,JSP,jQuery和JAVA。

我在JSP頁面中有一個表單,如下所示:

<form method="get">
    <input type="text" id="code">
    <button onclick="request()">Search</button>
</form>

函數request()是:

function request() {
    var code = $('#code').val();
    var data='code='+code;
    $.ajax({
          url: "Servlet",
          type: "GET",
          data: data,
          success: function(){
              alert("success");
          },
          error:function(){
              alert("failure");
          }   
        }); 
};

Servlet做一些事情,然后將查詢的結果集保存在請求對象中,然后將結果轉發到索引上,如下所示

request.setAttribute("result", resultSet);
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);

index.jsp包含:

 <%  if(request.getAttribute("result")!=null){ %>
        <jsp:include page="table.jsp" />
  <%}%>

檢查結果集是否已填充,然后包括table.jsp,頁面掃描結果集並將值放在表中。

此代碼無效,有人可以幫助我嗎? 1-查詢運行正確2-正確調用了jQuery

但是

if(request.getAttribute("result"))

始終為null。

嘗試讓您的Servlet擴展HttpServlet ,並嘗試如下操作:

public class TestServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;


    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request,response);
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        request.setAttribute("result", "value");
        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM