Нулевое значение передается сервлетам с помощью jquery ajax - PullRequest
0 голосов
/ 03 мая 2011

Я разрабатываю пример приложения с помощью jquery ajax. Мой Login.jsp имеет

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

    $("#LoginForm").submit(function()
    {
     var username=$("#username").val();
     var password=$("#password").val();
     var datastring='username '+username+ '&password '+password;

    $.ajax({
        url: 'Login',
        type: "POST",
        data: datastring,
       /*error: function(){
            alert("Data Error"); 
        },*/
        success: function (data){
            window.open.href("success.jsp");
        }
     });
    });
});
 </script> 
 </head>
 <body>
<div id="dialog" title="LoginDB">
<form id="LoginForm" method="post">
<fieldset>
<label>Username:</label>
<input type="text" id="username" value=""></input><br></br>
<label>Password:</label>  
<input type="password" id="password" value=""></input><br></br>
<input type="submit" id="submit" class="submit" value="Log In" align="middle"></input>
</fieldset>
</form>
</div>
</body>
</html>

когда я запускаю приложение, я вижу, что нулевое значение передается в сервлете, где я проверяю учетные данные, и в случае успеха данные вставляются и пользователь перенаправляется на страницу успеха. Я знаю, что это простая ошибка, но я не могу понять это из ..

Может кто-нибудь указать мне ?? Спасибо:)

1 Ответ

5 голосов
/ 03 мая 2011

Сгенерированная строка запроса неверна.

Изменить var datastring = 'имя пользователя' + имя пользователя + '& пароль' + пароль; до

var datastring='username='+username+ '&password='+password; 

Лучшая альтернатива - использовать сериализованную форму jquery для получения почтовых данных.

Попробуйте это:

var postData =$("#LoginForm").serialize();      
$.ajax({         
 url: 'Login',         
 type: "POST",         
 data: postData
.
.
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...