Отправка запросов после закрытия вкладки браузера ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Отправка запросов после закрытия вкладки браузера

Сообщение Anonymous »

У меня есть система с Laravel на серверной части и React на внешней стороне. Это система рабочего места, и у меня есть чат с функцией статуса пользователя. Я хочу обновить статус пользователя до автономного после закрытия вкладки браузера, но не могу заставить его работать. Я уже пробовал использовать window.addEventListener('beforeunload'), но после закрытия вкладки отправлять запросы становится невозможно. Кто-нибудь знает способ добиться этого?
BACKEND:
public function updateStatus(Request $request)
{
$request->validate([
'status' => 'required|string|in:online,disconnected,away'
]);

$user = auth()->user();
$status = $request->status;
$user->chat_status = $status;
$user->save();

return response()->json(['message' => 'Status atualizado com sucesso.']);
}

ФРОНТЕНД:
const updateStatus = async (status) => {
try {
await api.post('/api/user/status', { status });
} catch (error) {
console.error('Erro ao atualizar status:', error);
}
};

window.addEventListener('load', () => {
updateStatus('online');
});

window.addEventListener('beforeunload', () => {
updateStatus('disconnected');
});


Подробнее здесь: https://stackoverflow.com/questions/791 ... rowser-tab

Вернуться в «Php»