HTML + AJAX + Python + Сессия? - PullRequest
       4

HTML + AJAX + Python + Сессия?

3 голосов
/ 16 июля 2011

Я пытаюсь понять, как использовать AJAX с сессиями Python.Я понимаю основы работы сессий.Когда я добавляю AJAX к миксу, у меня возникают трудности с пониманием технических деталей.Часть меня думает, что AJAX и Python Sessoins невозможны.Я знаю, что существуют веб-фреймворки, которые, вероятно, делают всю эту магию, но я хочу научиться делать это самостоятельно, прежде чем переходить к фреймворку.

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

Вот базовый макет приложения:

  • login.html: HTML-форма с полями ввода имени пользователя и пароля икнопка отправки
  • ajax.js: содержит функцию AJAX, которая взаимодействует со сценарием на стороне сервера
  • check_user.py: проверяет правильность имени пользователя и пароля, создает сеанс или возвращает ошибку
  • welcome.html: доступно только при правильном вводе имени пользователя и пароля
  • welcome_1.html: доступно только при правильном вводе имени пользователя и пароля

Я предпочитаю сохранять HTML, Javascript иКод Python в отдельных файлах, в отличие от создания HTML с Python или использования встроенного Javascript в HTML.

Вот логика приложения:

user visits login.html
    enters username & password
    clicks submit button
        submit button calls ajax function
        ajax function sends username & password to check_user.py
        check_user.py checks if username & password are correct
            if not correct, return JSON formatted error message
            else, correct
                create session ID (SID)
                place SID in cookie
                return cookie to ajax function
                redirect user to welcome.html

welcome.html
    on page load, ajax function requests user's cookie
        if no cookie, redirect to login.html
        else, ajax function sends cookie to check_user.py
            check_user.py opens cookie & verifies the SID
                if not correct, redirect user to login.html
                else, correct
                    redirect user to welcome.html

Я думаю, что янедопонимание того, как ajax должен обрабатывать возвращенную информацию cookie.Также возможно, что я неправильно понимаю и другие части.Пожалуйста, уточните: -)

Я думаю, что буду следовать этому документу при написании моего кода сессии Python.Звучит нормально?
Я подумываю использовать jQuery для AJAX и других кодировок Javascript.

Спасибо!

1 Ответ

1 голос
/ 08 октября 2011

Помните, что запрос AJAX такой же, как и любой другой HTTP-запрос к серверу. Сеанс поддерживается на стороне сервера, но, насколько сервер может сказать, запрос от браузера - это запрос от браузера. Запрос AJAX может получить и установить cookie, как и любой другой запрос. Метод, который вы описали выше, должен работать нормально. Кроме того, вы можете проверить наличие сеанса на первой странице и затем написать файл cookie.

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