Java 如何将请求重定向/转发到由$.ajax()函数调用的servlet中的另一个jsp页面

Java 如何将请求重定向/转发到由$.ajax()函数调用的servlet中的另一个jsp页面,java,jquery,ajax,jsp,servlets,Java,Jquery,Ajax,Jsp,Servlets,我正在使用$.ajax()函数在我的应用程序中调用servlet,我正在将请求转发到另一个jsp页面并设置请求属性……我只是想知道在基于ajax的servelt中转发请求和设置请求参数是否是一种好方法? 这是我的示例代码 var id= $("#id").val(); $("#add-btn").click(function(e) {

我正在使用$.ajax()函数在我的应用程序中调用servlet,我正在将请求转发到另一个jsp页面并设置请求属性……我只是想知道在基于ajax的servelt中转发请求和设置请求参数是否是一种好方法? 这是我的示例代码

          var id= $("#id").val();

          $("#add-btn").click(function(e) {                                                                                                 
                e.preventDefault();         
                var dataString ='action=insert'+'&id='+id
                console.log(dataString);
                $.ajax({
                    type: "POST",
                    url: "RecordHandler",
                    data: dataString,
                    success: function(data){  
                        console.log('Add');
                        $('body').html(data);
                        $('body').prepend('<div style="width:100%;text-align:center;"><h3 style="color:green" >Record Added Succesfully</h3></div>')
                    }
                });  

            });
如何使用ajax而不刷新页面。。。。。。
即使我在ajax成功方法中使用window.location.herf=“list.jsp”,它也会刷新页面

当您通过ajax调用servlet时,根据定义,无论服务器发送的头是什么,您都会停留在同一页面上

如果要更改页面,必须使用javascript在
$.ajax(..)
调用的成功处理程序函数中进行更改


您可以读取
Location
响应标题,并将
window.Location.href
设置为该值

当您通过AJAX调用servlet时,无论服务器发送的标题是什么,您都会根据定义保持在同一页面上

如果要更改页面,必须使用javascript在
$.ajax(..)
调用的成功处理程序函数中进行更改


您可以读取
Location
响应标题,并将
window.Location.href
设置为该值

当然……为什么不呢?当然,你可以用JSON或者其他现代的东西来做。但是,从servlet重定向到jsp并在成功的ajax调用后显示其内容是一种标准方式-IMHO.ok谢谢您的评论当然…为什么不呢?当然,你可以用JSON或者其他现代的东西来做。但是,从servlet重定向到jsp并在成功的ajax调用后显示其内容是一种标准方式-IMHO.ok,谢谢您的评论
  private static String UserRecord = "/list.jsp";

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

    String redirect = "";
    String action = request.getParameter("action");
    if (action.equalsIgnoreCase("insert")) {
      String id= request.getParameter("id");
      int uid = Integer.parseInt(id);
      RecordBean record = new RecordBean();
      record.setId(uid);
      dao.addRecord(record);
      redirect = UserRecord;
      request.setAttribute("records", dao.getAllRecords()); //Is it good approach to set request attribute in ajax based servlet?
      System.out.println("Record Added Successfully");

      RequestDispatcher view = request.getRequestDispatcher(redirect);//Is it good approach to redirect request in ajax based servlet?
      view.forward(request, response);
 }