Узнать, когда пользователь покидает страницу в django
У меня есть ajax-функция, которая отправляет запросы к представлению Django каждую секунду:
function get_updates() {
$.ajax({
url: full_path,
type: 'GET',
data: {latest_pk: latest_pk},
success: function(json) {
...
},
complete: function(data) {
setTimeout(get_updates, 1000);
}
});
}
get_updates();
get метод представления выглядит следующим образом:
def get(self, request, *args, **kwargs):
if request.GET:
# If there are GET parameters, use them to return updates.
response = self.get_updates(request.GET.get("latest_pk"))
return JsonResponse(response)
else:
# Otherwise if the url is simply requested,
# return the rendered chat page.
return super().get(request, *args, **kwargs)
Как я могу выполнить некоторый код в Django, после того как запросы перестали отправляться? Мне нужно сохранить время последнего запроса.
Попробуйте сделать это в javascript, там есть событие под названием ."beforeunload".
Это просто идея, как вы можете этого добиться
<script>
window.addEventListener("beforeunload",function(){
$.ajax({
url: full_path,
type: 'GET',
data: {latest_pk: latest_pk},
success: function(json) {
// add your other logic here
}
});
});
</script>