0

ユーザーがユーザー名とパスワードを入力する login.jsp ページがあります。ユーザー名とパスワードは ajax ($.post) を使用してサーバーに送信されます。認証が完了したら、ユーザーを index.jsp ページにリダイレクトしたいと考えています。

js:

function Login()
{
    var traderName = document.getElementById('username').value;
    var traderPass = document.getElementById('password').value;

    //SetLoginLoading();

    data = {action:'login',username:traderName,password:traderPass};

    $.post('TraderServlet',$.param(data),function(response){
    });
    return false;
}

サーブレット

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              ....
              login(request, response);
              ....
     }       
   private void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String name = request.getParameter(PARAMETER_NAME);
        String pass = request.getParameter(PARAMETER_PASS);
        traderBean.login(name, pass);

        response.sendRedirect("index.jsp");
    }

response.sendRedirect() を使用しようとしましたが、機能しません。jQuery を使用して ajaxCallback を使用してユーザーをリダイレクトする必要がありますか?

ありがとうございました。

4

1 に答える 1

0

一般に、とにかくリダイレ​​クトするだけの場合は、フォームからサーブレットを直接処理するだけでこれを実現できるため、AJAX を使用しても意味がありません。

あなたの質問に対して、まずサーブレットの URL パターンを確認してください。実際に呼び出されていることを確認してください。もしそうなら、それが次のようなURLパターンを持っているなら

/TraderServlet

index.jsp次に、 の下のルート フォルダーにも存在することが期待されますWeb。意図した場所にリダイレクトしていない可能性があります。

確認する 1 つの方法は、(Chrome を使用している場合) デバッガー ツール (Windows/Nix では F12、Mac では Ctrl-Shift-I) を使用し、どのようなエラーが発生しているかを確認することです。

于 2013-03-13T22:55:15.497 に答える