Java 无法使用jquery将数据传递到servlet
我正在使用jquery和servlet开发一个应用程序。我一直在使用jquery主题滚轴作为接口 在我的Login.jsp中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
<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()
}
}
);