![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
hej,
mam pewien problem związany z odczytywaniem statusu w jakim znajduję się aktualnie request ajax'owy, chociaż może słowo problem to za dużo ponieważ rozwiązałem to, jednak chciałbym się poradzić Was, czy da się do tego jakoś inaczej podejść, więc kolejno: -wywołanie ajax'owedo requestu -odpalenie skryptu -w skrypcie mam dużo różnych akcji, wygląda to mniej więcej tak:
i teraz mam tak iż wczytuje po kolei moje wykonane akcje do pliku, w tle mam odpalony kolejny request ajax'owy który odczytuje mi te dane i wypisuje na ekran w postaci: Kod Wykonano akcje 1 V Wykonano akcje 2 V etc... te moje kolejne statusy miałem to trzymane w sesji ale przy asynchronicznych zapytaniach działało to średnio, więc teraz moje pytanie, jak Wy byście to widzieli? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
A gdybyś odpowiednio to rozbił? Już wyjaśniam
![]() Dzielisz pliki na:
Teraz przez AJAX wysyłasz zapytanie do pierwszego pliku. W wyniku dostajesz informację czy wykonano akcję + informację, który plik następnie wykonać( w tym przypadku zapytanie do drugiego) i tak w kółko. Dzięki temu po kolei będziesz miał na którym jesteś etapie + odpowiednie informację czy prawidłowo wykonano akcje. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
no właśnie nie bardzo, ponieważ dane w różnych miejscach są od siebie zależne i wydzielenie tego będzie trochę trudne w obecnej sytuacji. i też złożoność aplikacji będzie mi rosła strasznie (będę chciał stworzyć 10 kolejnych akcji == 10 kolejnych plików), pomysł ciekawy ale niestety nie dla mnie w obecnej konfiguracji.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
To może zrób to na podobnej zasadzie tylko w jednym pliku.
Przez AJAX, będziesz przekazywał którą akcję aktualnie wykonać. Oczywiście najlepiej switch-a wstawić, ale odruchowo if wpisałem. --edit-- Jak nadal to nie to, to opisz trochę dokładniej. Co to za operacje i ile czasu trwają i jakieś inne informacje, które mogą się przydać. Ten post edytował kamil4u 14.02.2012, 22:40:05 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
może być np sytuacja taka:
mam pętle która iteruje do N, i teraz chce wyświetlać tak: Kod wygenerowano 1 wygenerowano 2 wygenerowano 3 . . . wygenerowano N a co do tego co powiedziałeś o tym if/switch, to przemyślałem i też nie będzie to w pełni spełniać moich założeń, dlaczego? bo ja ustawiam różnego rodzaju zmienne (flagi) od których zależne jest dalsze wykonanie skryptu, jeśli chciałbym to wszystko przekazywać i później obsługiwać to była by to sieczka niesamowita. //EDIT chyba mam już rozwiązanie. zrobiłem zwykły ajax'owy request, i teraz nasłuchuje readyState, i sprawdzam czy jest status 3, czyli czytam niejako live od ajax'a i w taki sposób mogę się dobierać do tego co zwraca ajax w konkretnym momencie, jedyna niedogodność to że ajax zwraca wszystko czyli, na początku dostaje: Status 1 kolejny status dostaje Status 1 Status 2 więc teraz tylko obrabiać te dane i już chyba jestem w "domu". -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nigdy nie używałem z AJAX-a z 3
![]() Jak Ci się uda to zrobić to wrzucić gdzieś jakieś demo czy coś, żeby można było popatrzeć jak Ci to wyszło i jak to działa - byłoby fajnie. Jeszcze można by było pomyśleć nad: WebSocket - tylko moja wiedza w tym zakresie nie jest zbyt duża, więc może to się nie nadaje( nie mówiąc już o dostępności w przeglądarkach ) Powodzenia! -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 18 Dołączył: 11.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tu sprawa rozbija się chyba o serwer. Specjalnie zrobiłem test bo spodziewałem się, że w tej sytuacji jak zawsze node.js mnie nie zawiedzie i tak:
Kod serwera:
Kod na stronie:
No i efekt:
Log się zrobił trochę za duży bo nie synchronizowałem serwera z ajaxem. Jedyne co potrzeba to node.js, lub opcja w php, http w wersji 1.1 i to chyba wszystko! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:43 |