![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, mam nastepujacy problem: Mam sobie menu - kazda opcja w menu to link do kolejnej str. W definicji linka dla kazcej strony istnieje metoda:
Menu jest tworzone po stronie php. Ta metoda w js ma nastepujaca postac:
Jej zadaniem jest wyczyszczenie tego co bylo w sesji w poprzedniej stronie. (Nie moge czyscic sesji za kazdym razem gdy wyswietlam str, poniewaz jak bede odswiezac albo submitem wykonywac akcje na tej samej str - to bede tracic rzeczy z sesji. A sa one mi potrzebne "per strona"). Czyszczenie sesji ma sie odbywac na zmiane zakladki (strony). Ok, w skrypcie ajax_unset.. mam tak:
I teraz to co najgorsze - to sie raz wykonuje, a raz nie! Tzn przy wejsciu na zakladke nowa wypisuje sobie var_dump te wartosci ($_SESSION['field_1'], $_SESSION['field_2']..) i raz sa '' czyli tak jak powinno byc, a raz na pare razy zawieraja poprzednie wartosci! Wiem ze to wrozenie z fusow, ale totalnie nie przychodzi mi do glowy co ja moge miec zle. Robie session_start bo tego wymaga to by to zadzialalo, myslalam ze moze tworzy sie przez to jaka druga sesja i no jakos nie zawsze wspolgra z ta 1sza. Probowalam niszczyc sesje na koncu skryptu ajax_unset.. ale wtedy mnie wylogowywuje.. Czy ktos z Was ma moze jakis pomysl? pzdr, misty |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym, że żadanie AJAX-owe po prostu nie zdąży się wykonać zanim nastąpi przejście do określonej strony. Tzn. kliknięcie w odnośnik uruchamia AJAX-owego requesta, ale powoduje również prawie natychmiastowe przejście do wybranej strony. W momencie przejścia do tej wybranej strony żadanie AJAX-owe zostaje przerwane. Rozwiązaniem może być zmuszenie AJAX-a do pracy synchronicznej (opcja async). Może to jednak spowodować skutki uboczne (przejście z jednej strony na inną może trwać zbyt długo i użytkownik nie będzie mógł nic w tym czasie zrobić).
Nie znam założeń całego systemu, ale używanie AJAX-a tylko do czyszczenia sesji (i to jeszcze tuż przed opuszczeniem danej strony) to chyba lekkie nadużycie i być może trzeba się zastanowić nad innym rowiązaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 19:23 |