停止Servlet响应将参数发送回页面并强制页面重新加载

时间:2017-02-10 19:06:01

标签: javascript java jquery servlets

我正在尝试获取我从表单中传递值的servlet,以响应一些我想要输出到警报中的文本。我遇到的问题是,弹出警报框后页面重新加载并重定向到页面+我传递给servlet的参数。

www.mysite.com/login.jsp - 重定向到

www.mysite.com/dashhome.jsp - 在这个页面上,我有一个将表单数据发布到servlet的函数。

servlet只需返回由处理的字符串而不是重定向/导致页面重新加载。

按下保存(发布)后,我使用文本字符串获取警报,然后使用参数重新加载当前页面。

www.mysite.com/dashhome.jsp?pass-1=ertertert&passConf-1=ertertert&uid-1=1

的Servlet: - 我可以看到System.err.println的值,一切都进入servlet而没有问题。传递整个表单而不是params会更酷,但我不知道该怎么做。 Servlet还将文本返回给javascript函数。

public void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        dbVO dbvo = new dbVO();
        dbvo = dbBean.getSQLDBInfo();
        response.setContentType("text/html");
        String text = "";
        HttpSession session = request.getSession();
        if((Integer.parseInt(session.getAttribute("accessType").toString())==1) && (System.currentTimeMillis()<(session.getLastAccessedTime() + session.getMaxInactiveInterval() * 1000)) ){
            String pass=request.getParameter("pass");  
            String confirmPass=request.getParameter("passConf"); 
            String uid=request.getParameter("uid");
            String adminID= session.getAttribute("ID").toString();
            System.err.println(pass);
            System.err.println(confirmPass);
            System.err.println(uid);
            System.err.println(adminID);
            text = "success";

        }else{
            text = "Session Expired";
        }
       response.getWriter().write(text);
    }  
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{  
                        doGet(request, response);
    }  

使用Javascript:

function sendUpdate(id) { 
            $(document).ready(function(){
                    $.post("testurl",
                    {
                      pass: $('#pass-'+id).val(),
                      passConf: $('#passConf-'+id).val(),
                      uid:  $('#uid-'+id).val()
                    },
                    function(data,status){
                        switch(status) {
                        case 'Session Expired':
                            sessionExpired();
                            break;
                        default:
                            alert(status);
                    }
                    });
            });
        }

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Sooo,这个工作正常我把我的按钮设为提交类型而不是按钮,这导致帖子......