Servlet-Ajax重定向到主页

时间:2018-07-19 20:13:40

标签: java jquery ajax servlets

我有一个控制器servlet,一个jsp和一些javascript / jquery代码。当用户单击“删除”按钮时,ajax将向Servlet发送请求,调用该Servlet的deleteProject()方法,该方法基本上是从数据库和项目jsp页面中删除用户的项目。到目前为止,一切都很好。问题是删除操作完成后,servlet将我重定向到主页/登录页面,而不是停留在项目页面上。我不确定为什么会这样或如何解决。这是servlet的doPost()方法:

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

                    RequestDispatcher dispatcher = null;
                    HttpSession session = request.getSession(true);
                    String base = "/jsp/";
                    String url = base + "/home.jsp";
                    String action = request.getParameter("action");

                    if (action != null) {
                        switch (action) {

                        case "Delete":
                            url = base + "projects.jsp";
                            String pid = request.getParameter("parameter_pid");
                            int project_id = Integer.parseInt(pid);
                            User user = (User) session.getAttribute("currentSessionUser");
                            deleteProject(user, project_id);                
                            break; 
     }      
         dispatcher = getServletContext().getRequestDispatcher(url);
                dispatcher.forward(request, response);      
        return;
}

这是jQuery代码(它显示模式,如果用户确认删除,它将从数据库中删除项目。)

$('#deleteprojectmodal').on('show.bs.modal', function (e) {

    var project_id = e.relatedTarget.id;    
    var project_name = e.relatedTarget.name;     
    $(this).find('.modal-body').html('Delete project: ' + project_name +"?" );    
    $('#parameter_pid').val(project_id); 


    $('#Delete').click (function ()
            {

                $.ajax({
                    url: '/Testing',
                    data: {
                        action: "Delete",
                        parameter_pid : project_id
                    },
                    type: 'post',

                });
            });

    });

我的猜测是,ajax删除操作成功完成后,“ action”参数为null,但是我不确定如何修复它。我只想让用户从数据库中删除项目,并保留其项目页面以及更新的项目列表。

有什么想法吗?非常感谢。 答:

编辑:

这是我在Firefox控制台上收到的错误消息。显然,ajax函数永远不会完成:

对象{readyState:0,getResponseHeader:getResponseHeader(),getAllResponseHeaders:getAllResponseHeaders(),setRequestHeader:setRequestHeader(),overrideMimeType:overrideMimeType(),statusCode:statusCode(),abort:abort(),状态:state() ,always:always(),catch:catch(),…}

0 个答案:

没有答案