2013-11-12 3 views
0

Привет, у меня простая форма регистрации в моем веб-приложении на eclipse. И я создаю этот маленький скрипт для управления дублированным именем пользователя.Проблемы с сообщением ajax

<script type="text/javascript"> 

     $(document).ready(function() { 
      $('#idBtnRegister').click(function(){ 

       username = $('#idUsername').val(); 

       CCService.findUsername(username,{ 
        callback: function(find) { 
         if(find == true) { 

          $('#idUsername').popover({ html: true, content: 'username already exist', placement: 'right' }); 
          $('#idUsername').popover('show'); 
         } 



         else { 
          url = '<%= CCGestioneConstants.CONTEXT_PATH %>' + '/registered'; 

          var params = {}; 
          params["username"] = $('#idUsername').val(); 
          params["name"] = $('#idName').val(); 
          params["surname"] = $('#idSurname').val(); 
          params["password"] = $('#idPassword').val(); 
          params["email"] = $('#idEmail').val(); 

          $.ajax({ 
           type: 'POST', 
           data: params, 
           url: url, 
           async: false, 
           cache: false, 
          }); 

         } 
        }, 
        async: false 
       }); 

      }); 

     }); 

</script> 

CCService.findUsername это DWR вызов:

public boolean findUsername(String username) throws SQLException, ClassNotFoundException { 
     UserDao userDao = new UserDao(); 
     boolean find = userDao.findUserByUsername(username); 

     return find; 
    } 

URL-адрес должен вызвать сервлет отображенный на/

зарегистрированный
url = '<%= CCGestioneConstants.CONTEXT_PATH %>' + '/registered'; 

На самом деле все работает, пользователь будет добавлен на db, если имя пользователя еще не существует, но в сервлете команда:

request.getRequestDispatcher("html/pages/registered.jsp").forward(request, response); 

не перенаправлять на jsp, но я все еще на странице регистрации.

ПОЧЕМУ?

ответ

0

Ваши звонки в Ajax. Вам нужно будет добавить обработчик в ответ Ajax и перенаправить браузер на вашу страницу (registered.jps), используя window.location = url.

Перемещение в вашем сервлете может работать, но по мере того, как вы вызываете сервлет в Ajax, это не повлияет на содержимое вашей веб-страницы.

+0

Работы. Спасибо. – Alist3r

Смежные вопросы