Я пытаюсь понять, как использовать 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.
Спасибо!