2016-07-18 10 views
0

1.サーブレットファイルにも成功事例の警告がコードで動作していないは、jQueryの成功機能を使ってAjaxのが

public class StudentController extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    System.out.println("inside servlet"); 

    dao dao=new daoimpl(); 
    String action=(request.getParameter("action")); 
    if(action.equalsIgnoreCase("login")){ 
     System.out.println("inside login"); 
     Student student=new Student(); 
     System.out.println(request.getParameter("username")); 


     student.setUsername(request.getParameter("username")); 
     student.setPassword(request.getParameter("password")); 
     ArrayList<Student>al=dao.getAllStudent(student); 
     Gson gson=new Gson(); 
     //PrintWriter pw=response.getWriter(); 
      String json = gson.toJson(al); 
      response.setContentType("application/json"); 
      response.setCharacterEncoding("UTF-8"); 
      response.getWriter().write(json); 
    } 

index.jsp 
 
<html> 
 
<head> 
 
    <script src="js/jquery.min.js" type="text/javascript" ></script> 
 
    <script type="text/javascript"> 
 
$(document).ready(function() { 
 
\t $('#login').click(function(event) { 
 
    var uname = $('#username').val(); 
 
     var pass = $('#pass').val(); 
 
     alert(uname+"-----"+pass); 
 
     
 
    \t alert("on click"); 
 
     $.post("Controller?action=login",{ 
 
       username : uname, 
 
       password : pass 
 
      },function(data) { 
 
      \t alert("sucess");  
 
      \t var json=$.parseJSON(data); 
 
        alert(json); 
 
}); 
 
     }); 
 
}); 
 
    </script> 
 
    
 
</head> 
 
<body> 
 
<form action="login" method="post"> 
 
User Name:<input type="text" name="uname" id="username"><br> 
 
Password:<input type="text" name="password" id="pass"><br> 
 
<input type="submit" value="Login" id="login"> 
 
<a href="registration.jsp">Register</a> 
 
<h3 align="center">student Details</h3> 
 
<div id="tablediv"> 
 
<table cellspacing="0" id="studenttable"> 
 
</table> 
 
</div></form></body> 
 
</html>

と呼ばれていない、私はjqueryの感謝のための新しいイム提案してください

+0

ログインボタンのタイプが「submit」の場合、フォームは処理が完了する前に送信される可能性があります。 – bassxzero

+0

ありがとうございました...しかし、データは警告(json)でnullになっています。この線では、arraylistがサーブレットに正しく乗っている間に。あなたが私に何を教えてくれますか? –

+0

'alert(json);の前に' alert(data); 'を追加します。何が出力されますか? – bassxzero

答えて

0

お試しください

<script type="text/javascript"> 
$(document).ready(
    function() { 
     $('form').submit(function(event) { 
     event.preventDefault(); 

     var uname = $('#username').val(); 
      var pass = $('#pass').val(); 
      alert(uname+"-----"+pass);    
      alert("on submit"); 


      $.ajax(
       { 
       url:"Controller?action=login", 
       data: {username : uname,password : pass} 
       type:'post', 
       cache:false, 
       timeout:8000 
       } 
      ).done(function(data){ 
       alert("sucess");  
       var json=$.parseJSON(data); 
       alert(json); 

      }).fail(function(jqxhr, textStatus, error){ 
       alert(textStatus); 
       alert(error); 
      }); 
     }); 
    } 
); 
</script> 
関連する問題