![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 3 Dołączył: 13.10.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Jestem w trakcie pisania własnego silnika MVC i natknąłem się na pewien problem z działaniem kodu.
index.php wygląda następująco.
Chyba nie ma co dużo tłumaczyć. Index inicjuje (includuje potrzebne pliki) tworzy obiekty do odczytywania URLa i wczytania na tej podstawie odpowiednich plików Modelu, Widoku i Kontrolera. Teraz ta część której nie jestem pewny, prawdopodobnie sama filozofia jest rąbnięta, ale już tłumaczę o co mi chodzi... Następnie gdy mamy wczytany już model, kontroler i widok, aplikacja bierze (jeśli jest coś w url'u) dane do wykonania akcji (wywołania odpowiedniej funkcji) i ją wykonuje. W widoku mam link, który podaje do url'a dane do akcji. Akcja zostaje wykonana, jednak, aby zobaczyć zmiany muszę ręcznie odświeżyć stronę, bo wszystko dzieje się na pliku index.php i nie odświeża mi go podczas klikania na link. Teraz pytanie, co można z tym zrobić, aby hulało? Próbowałem z header ale wyskakuje błąd, że nie można przekierować na stronę która jest obecnie wczytana. Za jakiekolwiek wskazówki, podpowiedzi będę bardzo wdzięczny. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 10 Dołączył: 4.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak, po stronie serwera zmiany praktycznie nie ma, ale mam wrażenie, że iro88 chodziło bardziej o to, co widać po stronie klienta (IMG:style_emoticons/default/smile.gif)
Poza tym: Cytat(iro88) W widoku mam link, który podaje do url'a dane do akcji. Akcja zostaje wykonana, jednak, aby zobaczyć zmiany muszę ręcznie odświeżyć stronę, bo wszystko dzieje się na pliku index.php i nie odświeża mi go podczas klikania na link. Brzmi mi to tak, jakbyś przekazywał dane do widoku zanim jeszcze zostanie wykonana akcja.. Przykład, żebym wiedział czy dobrze zrozumiałem: powiedzmy, że masz widok listy elementów i akcję kasującą element podlinkowaną jako "usuń". Jest lista elementów, klikasz "usuń", element zostaje usunięty z bazy, ale po przeładowaniu wciąż widać go na liście, dopiero kliknięcie w odśwież sprawia, że pojawia się stan faktyczny - na tym polega problem? Jeśli tak, to znaczy, że akcje po stronie serwera wykonują się w niewłaściwej kolejności. Masz pewnie kolejność podobną do tej: - załaduj elementy i przekaż informacje do widoku - wykonaj akcję (usuń element) - renderuj widok Dwa pierwsze kroki powinieneś zamienić miejscami. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 20:14 |