![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam szanowne grono Kolegów.
Od jakiegoś czasu zabawiam się z Zendem i przyszedł czas na wplecienie AJAXa w funkcjonalność aplikacji. Moje pytanie jest następujące. W jaki sposób obsługujecie zapytania po stronie Zenda? Chodzi mi tutaj o następującą rzecz: załóżmy, że chcę dynamicznie podstawić do jakiegoś DIV'a inputa, selecta czy cokolwiek. Po stronie przeglądarki nie jest istotne jak to załatwimy (JS czy jQuery). Ważne jest jak to obsłużyć po stronie Zenda. Czytałem, czytałem i w większości sytuacji wyglądało to tak, że dowołanie szło na konkretny kontroler i akcje, które zwracały np kod html. Problem w tym, jak zarządzać strukturą katalogów, kontrolerów, akcji dla Ajaxa? Czy macie np jeden kontroller i do tego odpowiednie akcje ? np /ajax/categoryselect ? Czy może wplatacie wyniki dla ajaxa w kontrolery, które są przeznaczone także do normalnego funkcjonowania strony. A może jeszcze inaczej ? Bardzo jestem ciekaw Waszych opinii. P.S. Jeżeli za bardzo zamieszałem to przepraszam (IMG:style_emoticons/default/wink.gif) Ten post edytował Ghost_78 6.07.2011, 07:22:47 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Używając helpera contextSwitcher i ajaxContext można łatwo zrobić akcję które mogą działać po ajaxsie i normalnie (IMG:style_emoticons/default/wink.gif) Bo praktycznie jeżeli używasz helpera to one się nie różnią (IMG:style_emoticons/default/wink.gif)
przykład: Akcja zwraca formularz:
Jeżeli użyjesz ajaxContext i zwracany format masz html to zwróci Tobie po prostu samą wyrenderowaną akcję bez layout'u (oczywiście sam sprawdzi czy request jest ajax'owy itp), problem robi się gdy zwracasz JSON'a wtedy już musisz zwrócić więcej danych czyli czy waldiacja przeszła poprawnie i jeżeli nie to wyrenderowany formularz, albo po prostu jeżeli ok to ok a jeżeli rpzyszedł form wyrenderowany to zakładamy że nie przeszedł walidacji, sposobów jest mnóstwo (IMG:style_emoticons/default/wink.gif) Ten post edytował melkorm 6.07.2011, 09:17:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:00 |