Войти и остаться на той же странице? - PullRequest
3 голосов
/ 10 сентября 2010

Я пытаюсь сделать гладкую функцию входа в систему здесь =)

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

Итак, процесс идет:

  1. Пользователь X посещает страницу A
  2. X не авторизован
  3. X нажимает на Login btn (который находится в элементе div вместе с формой)
  4. Поля входа и кнопки исчезают
  5. X вошел в систему и все еще находится на странице A (не замечая «перенаправления»)

Спасибо за все ваши ответы!

Ответы [ 3 ]

1 голос
/ 10 сентября 2010

Вы можете использовать jQuery.load , чтобы повторно запросить ту же страницу (которая должна загружать правильное содержимое с момента создания сеанса). Поддерживается загрузка части запрошенного документа.

Пример:

function onSuccessfulLogin() {
   $("#content").load(window.location.href + " #content");
}

РЕДАКТИРОВАТЬ: Ой, извините, я думаю, что я неправильно понял. Я думал, что страница А имеет контент, видимый только аутентифицированным пользователям, и вы показывали форму входа и хотели, чтобы после аутентификации отображался правильный контент.

Если вы просто хотите асинхронно. войдите в систему, вы можете добавить обработчик отправки в форму входа в систему, которая отправляет форму в какой-то сценарий обработчика входа в систему, который возвращает информацию об успешности их попытки входа в систему.

$("#loginform").bind("submit", function () {
    $.ajax({
       url: "login.php",
       method: "post",
       cache: false,
       dataType: "json", // for example
       data: $(this).serialize(),
       success: function (data) { // data is the JS object based on the JSON returned
          if (data.success) {
             $(this).fadeOut();
          } else {
             alert("bad login: "+data.error);
          }
       }
    });

    return false;
});
0 голосов
/ 12 сентября 2010

Один из способов сделать это - использовать AJAX и модальное диалоговое окно, содержащее необходимые поля для входа и кнопку отправки. Вы можете сделать гладкую реализацию, используя диалог Dojo dijit .

0 голосов
/ 10 сентября 2010

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

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