ugrás a tartalomhoz

MVC - Az AJAX kérések is a front kontrolleren landolnak?

s_volenszki · 2009. Jan. 13. (K), 10.50
Sziasztok!

Butának tűnhet a kérdés, de mégis! Ha MVC struktúrában építek webes alkalmazást és használni akarok AJAX kéréseket, akkor ezek a kérések is a front kontrolleren landolnak?

Logikusnak tűnne, hiszen ilyen módon egy jó form feldolgozó eljárással igazából csak egy igaz/hamis érték átállítása elegendő ahhoz, hogy a teljes rendszer AJAX-szal küldjön formokat a szerverre vagy a hagyományos POST útján.

Jól gondolom?
 
1

Metódus

Max Logan · 2009. Jan. 13. (K), 11.50
Mivel az AJAX kérés is ugyanolyan, mintha lapújratöltéssel jönne, ezért a menet ugyanaz. Csak a V lesz más, nem (feltétlenül) HTML, hanem pl. JSON (vagy XML, vagy plaintext, stb). A különbség a layout generálásban van. AJAX nélkül kell, míg AJAX-szal nem (mármint szerver oldalon, a fő layout-ot érve layout alatt).
2

Egyértelmű

s_volenszki · 2009. Jan. 13. (K), 11.55
Remek, köszönöm!

Igen, valóban egyértelmű a View esete, hiszen az AJAX-os szerverhívás eredménye klasszikusan már meglévő view-ban történő adatmanipuláció.

s_volenszki
3

teljesítmény

szaky · 2009. Jan. 13. (K), 22.57
Hát, annyit hozzátennék, hogy performance okokból egy erőssen terhelt oldalon érdemes lehet az ajax kéréseknek egy leegyszerűsített belépési pontot kreálni, hogy gyorsabban tudjon reagálni.
4

Ez mit is jelent pontosan?

s_volenszki · 2009. Jan. 14. (Sze), 11.14
Szia!

Ez mit is jelent pontosan? Egyszerűsített belépési pont...
5

Ház az olyan izé....

szaky · 2009. Jan. 14. (Sze), 14.41
Ha bonyolult/összetett keretrendszered van, aminek sokáig tart a felállás, sok filet-t kell betölteni, feladatot ellátni, akkor érdemes lehet az ajax kéréseknek egy egyszerűbb felületet biztosítani, ahol csak a legszükségesebb dolgok töltődnek be, ami az ajax kérés kiszolgálásához kell. Pl templétező rendszer nem kell, talán az authentikáción is lehet egyszerűsíteni, stb. A belépési pont talán kissé fellengzősen hangzik :) de nem igazán tudnám szabatosabban elmondani
6

az sosem árt..

Szekeres Gergő · 2009. Jan. 14. (Sze), 14.49
nem értemi miért kellene másik belépési pont, phpban lehet futás időben - így feltételekhez kötötten - includolni. úgy kell elkészíteni a controllert, hogy mindig csak a szükséges kódok kerüljenek lefordításra.


Pl templatekezelő rendszer nem kell


sokszor az is kell, ha nem csak formok postolására használsz ajaxot.

talán az authentikáción is lehet egyszerűsíteni,


ha lehet egyszerüsíteni akkor nyilván kell is, de miért lenne különböző egy ajax kérés egy "hagyományos" kéréstől?

Én inkább pont a másik megközelítést támogatom, hogy egy file legyen, minden egy helyen legyen csak megoldva, de ott jól és univerzálisan.
7

egy példa

Hodicska Gergely · 2009. Jan. 14. (Sze), 16.40
http://redotheweb.com/2008/03/07/a-small-symfony-for-a-fast-response/

Persze ez lehet része a rendszernek is. Nálunk pl. ha a controller egy actionjében vagy, akkor ha nem térsz vissza, akkor alap esetben egy komolyabb tudású view jön létre, amiben van mindenféle jóság (layout kezelés, blockok, componensek stb.), de erre ajax-os kéréseknél nem mindig van szükség, ezért lehet úgyis visszatérni, hogy jelezem, hogy a response objektumban már be van állítva a válasz, csak el kell küldeni, vagy ha pl. egy szöveggel térek vissza, akkor az lesz a válasz. Ez utóbbi esetekben a komplexebb view kimarad a játékból, ami egy nagyon egyszerű kérés esetén járulékosan jelenthet teljesítmény növelést. (Még nem volt időm ezzel eljátszadozni, méricskélni, de kíváncsi vagyok én is, hogy mennyit jelenthet.)

phpban lehet futás időben - így feltételekhez kötötten - includolni. úgy kell elkészíteni a controllert, hogy mindig csak a szükséges kódok kerüljenek lefordításra.
Szerintem ott ahol a igazából fontos a teljesítmény, ott ez nem túl szerencsés. Jobban jársz ha az általában használt dolgok bemennek egy nagy fájlba, és ezt include-olod, még akkor is, ha így lesz benne olyan, ami az adott futás esetén épp nem kellene.