У меня есть список уведомлений в верхней части моего веб-сайта.
- Каждое уведомление может быть «прочитанным» или «непрочитанным».
- Каждое уведомление является интерактивным элементом привязки , перенаправляя пользователя к сообщению, связанному с этим уведомлением.
В настоящее время я использую запрос GET для обработки щелчка пользователя:
@webapp.route('/read')
@webapp.route('/read/<int:notification_id>')
@login_required
def read_notification(notification_id=None):
if notification_id is None:
return notifications.read(user=current_user)
fetched_notifications = notifications.get(current_user)
if notification is None:
return fail(404, 'Invalid notification ID.')
if notification.user.id != current_user.id:
return fail(403, "You aren't allowed to access this page.")
notifications.read(id_=notification_id)
return redirect(notification.action_url or '/exercises')
У меня плохое предчувствие по поводу использования GET запрос на /read
, чтобы изменить состояние уведомления. С другой стороны, я не хочу использовать POST (или PATCH), потому что мне потребуется использовать <form>
(семантически неверно) или JavaScript (может вызвать запаздывание взаимодействия с пользователем).
Есть ли лучший вариант?
Стек ванильный JavaScript и Flask (Python 3.8).