Hej, mam funkcje która sprawdza czy użytkownik jest zalogowany lub nie. Poradzi ktoś, aby była wywoływana przy zmianie statusu tego usera ? Mam listę użytkowników na stronie i jak się user wyloguje to chce, aby funkcja się wywołała w celu zmiany statusu. Jak to mogę zrobić ?
Daj może więcej konkretów, pokaż funkcję o której piszesz, wyjaśnij co oznacza "zmiana statusu przez usera", czy piszesz to w oparciu o jakiś framework/bibliotekę, czy w czystym JS + jQuery?
Bo na razie to możesz jedynie dostać odpowiedź w stylu Zrób tak, żeby funkcja się wywoływała w odpowiednich momentach czyli np. podczas wylogowania
. Nawet nie wiemy, jak u Ciebie to wylogowywanie wygląda :P
- Rejestracja:prawie 17 lat
- Ostatnio:3 dni
- Postów:644
Zrobienie tego za pomocą AJAX nie jest optymalne, poczytaj o WebSocket. Wtedy serwer sam powiadomi klienta jak któryś z użytkowników się wyloguje. Jak chcesz to zrobić w AJAX to musisz po prostu odpytywać co chwilę serwer o zmiany statusów, albo pobierać wszystkie statusy.
No to jak napisał @Markuz - musisz cyklicznie odpytywać serwer. Ustaw sobie timer co jakiś czas - kilka/naście/dziesiąt sekund i sprawdzaj, czy coś się zmieniło.
W zależności od ilości userów, możesz albo pobierać tylko zmiany, albo po prostu całą aktualną listę.
No to może być problem, odpytywanie co chwila serwera o setki/tysiące użytkowników, zwłaszcza jeśli chcesz mieć swoją aplikację/stronę jednocześnie otwartą w wielu miejscach. Dlatego znacznie lepszą opcją jest to, co wcześniej sugerował @Markuz, czyli odwrócenie sposobu komunikacji. Nie strona odpytuje w kółko serwer, ale serwer powiadamia stronę o zmianach w chwili, w której one mają miejsce.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.