[英]Unable to pass data to servlet using jquery
I am developing an application using jquery along with servlets.I have been using jquery theme roller for interface In my 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。我也沒有收到任何錯誤(用firebug檢查)或任何類型的異常......
我對 jquery 和 java 還很陌生。我哪里出錯了
我也試過$("#LoginForm").submit(function(){ }
為什么沒有拋出錯誤?我怎么知道我哪里出錯了
您的密碼 id 錯誤,請將 'password' 更改為 'pwd'
$("#submit").click(function(){
$.ajax({
type:'post',
url:'LoginServlet.java',
data:{
username:$('#username').val(),
password:$('#pwd').val()
}
}
);
您的 ajax 調用的方法類型有錯誤,而不是:
$.ajax({
type:post
...
應該是這樣的:
$.ajax({
type:"post",
...
希望這可以幫助。
嘗試設置:
type: 'POST',
例如
<script>
$("#submit").click(function(){
$.ajax({
type: 'POST',
url:"LoginServlet.java",
data:{
username:$('#username').val(),
password:$('#password').val() }
});
});
</script>
螢火蟲對請求說了什么? (http://getfirebug.com/)
編輯
重新創建了您的 javascript 和 html @ http://jsfiddle.net/qYmkF/
在查看螢火蟲時,我可以看到請求被觸發。
您需要將代碼包裝在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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.