2017-05-25 14 views
0

ログインサーブレットページにはいくつかの条件があります。ユーザーはajax呼び出しを使用してJavaScriptへのユーザーパスをURLに登録しています。ユーザーが登録されていない場合、ログインしようとするとエラーメッセージを表示して同じページのURLにリダイレクトする必要がありますが、ここではURLとメッセージをJavaScriptファイルに一度に渡すことができません。 URLまたはメッセージのいずれかで、JavaScriptに両方のオブジェクトを渡す方法を教えてください。ajax呼び出しを使用してサーブレットからJavascriptファイルに複数のオブジェクトを渡す

+0

Appologies - 私はあなたの質問を誤解一度見て、私に知らせてください可能性があり、私は私の質問を更新し、私の更新の答え –

答えて

0

あなたはURLとMSGの文字列を連結して、区切り文字と分割してout.printlnを渡すことができますJSの反対側でも同じです。

if 
    { 
     data ="Login.jsp$Sorry, you are not a registered user! Please sign up 
     first"; 
    } 
    PrintWriter out = response.getWriter(); 
    out.print(data); 
0

あなたはoutで呼ばクラスのPrintWriterprint(arg)はただ1つの引数を受け入れるためです。それはどんなタイプのものでもあります。 API hereを表示します。あなたは常に成功のコールバックを取得すると仮定します。 試みは動作するはずです:

コード:

String resp= ""; // final response 
if(User.isValid()) 
{     
    resp="MyList.jsp" ; 
} 
else 
{ 
    Url="Login.jsp"; 
    Msg="Sorry, you are not a registered user! Please sign up first"; 
    resp= Url + "@" + Msg; 
} 
PrintWriter out = response.getWriter(); 
out.print(resp); // based upon your condition above. 

変更あなたのJS:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnLogin').click(function() 
     { 
      $.ajax({ 
       type: "post", 
       url: "Login", //this is my servlet 
       data: "uname=" +$('#inputUserID').val()+"&pwd="+$('#inputPassword').val(), 

       success: function(data){ 
        alert(data); 
        var response = data.split("@"); 
        if(response.length>1){ 
         // if user is a valid user 
         $(window.location).attr('href', response[0]); 
        } else { 
         // if user in invalid 
         $(window.location).attr('href', response[0]); 
         $("#message").html(response[1]); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 
+0

を参照してください。私はあなたの指示と試みたが、それに応じて更新されたメッセージ –

+0

に感謝 –

+0

答えを表示していないあなたに –

関連する問題