无法使用jquery将数据传递给servlet

时间:2011-05-02 08:12:48

标签: java servlets jquery

我正在使用jquery和servlets开发一个应用程序。我一直在使用jquery主题滚轮进行接口 在我的Login.jsp

 <script>
 $(document).ready(function() {
 $("#dialog").dialog();
 }); 
 </script>

 <script>
 $("#submit").click(function(){
   $.ajax({
       type:post,
       url:"LoginServlet.java",
       data:{
       username:$('#username').val(),
       password:$('#password').val() }    
   });   
  });
 </script>

</head>
<body style="font-size:62.5%;">
<div id="dialog" title="Login">
<form id="LoginForm" method="post">
<fieldset>
<label>Username:</label>
<input type="text" id="username"></input><br></br>
<label>Password:</label>
<input type="password" id="pwd"></input><br></br>
<input type="submit" id="submit" value="Log In" align="middle"></input>
</fieldset>
</form>
</div>
</body>
</html>

在我的LoginServlet中,我检查密码和用户名是否匹配,如果匹配,我使用response.sendRedirect().将用户重定向到其他页面但是当我输入凭据时,数据没有传递给servlet.Also我没有得到任何错误(用萤火虫检查)或任何类型的例外......

我对jquery和java都很新。我出错了

我也试过$("#LoginForm").submit(function(){ }。为什么没有错误被抛出?我怎么知道我哪里出错了

4 个答案:

答案 0 :(得分:0)

您的ajax调用的方法类型有错误 而不是:

$.ajax({
  type:post
...

应该是这样的:

$.ajax({
  type:"post",
...

希望这有帮助。

答案 1 :(得分:0)

尝试设置:

  type: 'POST',

例如

 <script>
 $("#submit").click(function(){
   $.ajax({
       type: 'POST',
       url:"LoginServlet.java",
       data:{
       username:$('#username').val(),
       password:$('#password').val() }    
   });   
  });
 </script>

firebug对请求说了些什么? (http://getfirebug.com/)

修改

重新创建了您的javascript和html @ http://jsfiddle.net/qYmkF/

在查看萤火虫时,我可以看到请求被解雇。

答案 2 :(得分:0)

您需要将代码包装在document.ready中。它不起作用因为#submit按钮尚不存在。所以改为:

<script>
 $(document).ready(function(){ //This!!!
    $("#submit").click(function(){
      $.ajax({
         type:'post',
         url:"LoginServlet.java",
         data:{
         username:$('#username').val(),
         password:$('#password').val() }    
      });   
    });
 });
 </script>

答案 3 :(得分:0)

您的密码ID错误,请将“密码”更改为“ pwd”

$("#submit").click(function(){
    $.ajax({
        type:'post',
        url:'LoginServlet.java',
        data:{
            username:$('#username').val(),
            password:$('#pwd').val() 
        }    
   }
);