繁体   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