Местное хранилище с Java сервлетом

У меня есть проект, который требует, чтобы пользователь вошел в систему. Это делается через страницу входа в систему, которая использует AJAX-вызов сервлета для проверки пользователя. Сервлет отвечает строкой, сообщающей ему, куда идти дальше (либо на главной странице, либо на странице "Несанкционированный доступ". В случае ошибки отображается предупреждение с трассировкой стека). Если пользователь пытается перейти на главную страницу без проверки, я хочу, чтобы он перенаправил их обратно на страницу входа.

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

Кстати, стандарт компании - IE9 (хотя большинство использует IE11).

При нажатии кнопки "Ввод" запускается следующий код JS:

    $.ajax({
    url: 'MyServlet',
    type: 'GET',
    data: {formType: 'validate',
        login: $('#txtLogin').val(),
        password: $('#txtPassword').val()
    },
    dataType: 'html',
    success: function (responseText) {
        if (responseText.indexOf(".html") > -1) {
            localStorage.setItem("name","authorized");
            alert(localStorage.getItem("name"));
            location.href = "http://<intraserver>/newSite/" + responseText;
        } else {
            alert(responseText);
        }
    }
});

Когда главная страница загружена, у меня есть вызов onload:

        function checkValid() {
            try {
                var name = localStorage.getItem("name");
                alert(name);
                if(name==null){
                    window.location.replace('http://MyServlet/MyProject');
                }
            }
            catch (e) {
                alert(e.message);
            }
        }

Когда нажата кнопка "Ввод", я получаю предупреждение "авторизовано". Тем не менее, когда главная страница загружается, оповещение "name" говорит о нуле.

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам