2017-02-10 8 views
-1

サーブレットを取得してフォームから値を渡し、アラートに出力するテキストで応答します。私が抱えている問題は、アラートボックスがポップアップした後にページがリロードされ、ページ+サーブレットに渡されたパラメータにリダイレクトされることです。サーブレットの応答をページに戻してページを強制的にリロードすることを停止します

www.mysite.com/login.jspは -

www.mysite.com/dashhome.jspにリダイレクト - このページでは私はポストは、サーブレットにデータを形成する機能を持っています。

サーブレットは、リダイレクトしないで処理した文字列を返すだけで、ページをリロードする必要があります。

私がsave(post)を押すと、テキスト文字列で警告が表示され、現在のページがパラメータでリロードされます。

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

サーブレット: - 私はSystem.errの持つ値を見ることができます。 printlnとすべての問題なしでサーブレットに来ている。 paramsの代わりにフォーム全体を渡す方がよりクールですが、私はそれを行う方法は分かりません。サーブレットはテキストを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、これはうまく動作します。ボタンの代わりにボタンを送信して、投稿の原因となっていました...

関連する問題