2017-02-10 74 views
-1

我想讓我的servlet通過表單中的值來響應一些我想輸出到警報中的文本。我遇到的問題是,警告框彈出後,頁面重新加載並重定向到頁面+我傳遞給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: - I可以看到與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); 
        } 
        }); 
      }); 
     } 

感謝您的幫助!

回答

2

Sooo,這工作正常我讓我的按鈕提交類型而不是按鈕,這是導致後...