Невозможно передать данные сервлету с помощью jquery - PullRequest
0 голосов
/ 02 мая 2011

Я разрабатываю приложение с использованием jquery и сервлетов. Я использовал ролик темы 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(). Но когда я ввожу учетные данные, данные не передаются сервлету. получить любые ошибки (проверено с помощью firebug) или исключения любого рода ...

Я довольно новичок в jquery и в java. Где я ошибся

Я пытался $("#LoginForm").submit(function(){ } также. Почему нет ошибок? Как я знаю, где я иду не так

Ответы [ 4 ]

0 голосов
/ 06 сентября 2018

Ваш пароль неверен, замените пароль на pwd

$("#submit").click(function(){
    $.ajax({
        type:'post',
        url:'LoginServlet.java',
        data:{
            username:$('#username').val(),
            password:$('#pwd').val() 
        }    
   }
);
0 голосов
/ 02 мая 2011

Попробуйте установить:

  type: 'POST',

например

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

А что говорит firebug по запросу? (http://getfirebug.com/)

EDIT

Воссоздал ваш javascript и html @ http://jsfiddle.net/qYmkF/

при поиске в firebug я вижу, что запрос запущен.

0 голосов
/ 02 мая 2011

Вам нужно обернуть код внутри 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>
0 голосов
/ 02 мая 2011

У вас есть ошибка в типе метода вашего вызова ajax. Вместо этого:

$.ajax({
  type:post
...

должно быть таким:

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...