Отправка запросов после закрытия вкладки браузера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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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