Java 无法使用jquery将数据传递到servlet

Java 无法使用jquery将数据传递到servlet,java,servlets,jquery,Java,Servlets,Jquery,我正在使用jquery和servlet开发一个应用程序。我一直在使用jquery主题滚轴作为接口 在我的Login.jsp中 <script> $(document).ready(function() { $("#dialog").dialog(); }); </script> <script> $("#submit").click(function(){ $.ajax({ type:post, url:"L

我正在使用jquery和servlet开发一个应用程序。我一直在使用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>

$(文档).ready(函数(){
$(“#dialog”).dialog();
}); 
$(“#提交”)。单击(函数(){
$.ajax({
类型:post,,
url:“LoginServlet.java”,
数据:{
用户名:$('#用户名').val(),
密码:$('#password').val()}
});   
});
用户名:


密码:

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

我对jquery和java都相当陌生。我哪里出了问题


我也尝试了
$(“#LoginForm”).submit(function(){}
。为什么没有抛出错误?我如何知道哪里出了问题

您的ajax调用的方法类型有错误 与此相反:

$.ajax({
  type:post
...
应该是这样的:

$.ajax({
  type:"post",
...
希望这有帮助。

尝试设置:

  type: 'POST',
乙二醇


$(“#提交”)。单击(函数(){
$.ajax({
键入:“POST”,
url:“LoginServlet.java”,
数据:{
用户名:$('#用户名').val(),
密码:$('#password').val()}
});   
});
firebug在请求时说了什么(http://getfirebug.com/)

编辑

重新创建您的javascript和html@


在firebug中查找时,我可以看到请求被触发。

您需要将代码包装到
文档中。准备就绪。
。它不起作用,因为
#提交
按钮还不存在。因此更改为:

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

$(文档).ready(函数(){//This!!!
$(“#提交”)。单击(函数(){
$.ajax({
类型:'post',
url:“LoginServlet.java”,
数据:{
用户名:$('#用户名').val(),
密码:$('#password').val()}
});   
});
});

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

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

@netbrain..我尝试了你的解决方案,但没有成功..糟糕的是,除了“重新加载以激活窗口控制台”之外,我在firebug中没有收到任何错误。一旦我输入凭据,我就停留在同一个页面上。网络选项卡呢?你看到过请求被触发吗?啊哈,eureeka。你设置了$('document')。就绪(函数{})单击监听器周围?@netbrain..No如果没有被解雇,请求将被拒绝..$(document).ready(function(){})在外部…它不在单击监听器周围我认为您的单击监听器从未被注册过。因此请尝试将单击监听器放在ready()内block@netbrain...I将我的单击侦听器放置在ready()中阻止…但没有成功…仍然被我尝试过的相同错误卡住..请求没有被触发,我在firebug中看到的任何错误..我尝试过..请求没有被触发,我在firebug中看到的任何错误..请将以下代码:
警报($(“#提交”).size();
放在
$(“#提交”)之前。单击(函数(){
然后告诉我结果???。我得到一个弹出窗口,显示1。这是什么意思??
$("#submit").click(function(){
    $.ajax({
        type:'post',
        url:'LoginServlet.java',
        data:{
            username:$('#username').val(),
            password:$('#pwd').val() 
        }    
   }
);