ugrás a tartalomhoz

AJAX-hoz ötletek

sotetbarna · 2005. Júl. 8. (P), 13.34
Sziasztok!

Az utóbbi időben eléggé előtérbe került az AJAX technika, ezért a keretrendszerbe foglalt megoldása foglalkoztat mostanság.

Elolvasva, tesztelgetve ezeket a megoldásokat, próbálunk egy keretet adni neki, ami több helyen is felhasználhatóvá tenné.

Megkülönböztettünk különböző feladatokat, amit a keretrendszernek meg kell oldania:
- adatellenőrzés (például regisztrációkor a kívánt azonosító foglalt-e már, vagy például a jelszó mérete, bonyolultsága megfelel-e az elvárásoknak): ha kilépsz a form elemből (onBlur indítja az eseményeket), egy xmlhttprequest segítségével megkérdezed a szervertől, hogy ez az adat megfelel-e, a válasz egyszerűsítve igen vagy nem, az eredményről még az előtt tájékoztatod a felhasználót, mielőtt megnyomná a submitot

- folyamatos adatlekérés (például chat rendszerek esetében): folyamatosan kommunikálni kell a szerverrel, volt-e újabb adat, amit meg lehetne jeleníteni, és persze új adatokat meg is jeleníted
http://www.modernmethod.com/sajax/sajax-0.11/php/example_wall.php

- adatbeírás (például amikor egy szűrés eredményét táblázatba foglalod, és a táblázat elemein úgy módosítasz, hogy ne kelljen minden adatot elküldeni, hanem csak amit megváltoztattál): a felhasználó adatmódosítása után elküldöd az adatot a szerverre, ellenőrzöd, hogy volt-e joga írni, beírod az adatot, majd visszaadod azt. Itt tovább lehet bővíteni a dolgokat, mondjuk párhuzamos bevitel figyelése, ha megváltoztatta más az adatokat, akkor erről értesíted a felhasználót. (Ennek persze lehet egy egyszerűbb változata, amikor például egy rendelés fejlécét karbantartod.)
http://www.logitica.com/dynatab/dynatab.php

A fenti problémákra az utóbbi idő blogmarkjaiban lehetett példákat látni (a linkek is onnan vannak), csak mindegyikre külön-külön, és nem egységbe foglalva.


Ha ezeken a feladatokon kívül van még ötletetek, hogy milyen komminukációra kell felkészíteni egy keretrendszert, azt örömmel fogadjuk.


sotetbarna
 
1

Keretrendszer

Bártházi András · 2005. Júl. 8. (P), 14.55
Én nem így fognám meg a problémát, illetve attól függ, hogy mit értünk keretrendszer alatt... Alapvetően egy AJAX-os weblapnál akár a teljes oldal is jöhet XMLHttpRequest kommunikáció útján (ha nem webre tervezel, ott ugye ilyet nem csinálunk, mert mi van, ha nincs JS). A konkrét keretrendszernek nem feltétlenül kell ilyen bonyolult problémákra felkészülnie, vagy ha felkészíted, akkor eléggé összetettre fog sikerülni, amit nem biztos, hogy érdemes megtenni (bár ki tudja, ha van rá erőforrás).

Én alapvetően egy olyan rendszer fejlesztésébe kezdtem neki, ami adatforrásokat tud kiszolgálni. A kliens átad infókat, alapvetően egy forrásnevet és egy lekérdező adatot (tipikusan egy input mező tartalma), a központi kiszolgáló PHP pedig ez alapján visszaadja a kért adatot, ami bármi lehet. Maga a kliens oldalt készítő PHP nem tesz mást, csak pl. ilyen input mezőt ír ki:
<input class="with-suggest" source="actors" />
Ezt persze még lehet bonyolítani. A lényeget pedig JS-ben írja meg az ember, diszkrét JS megoldásokkal.

Amik általam megvalósításra kerültek a hetekben: Google suggest szerű legördülős kiegészítős input mező, élő keresés, mely az input mező alatt táblázatban jeleníti meg a találatokat. Maga a kommunikáció ugyanaz, a szerver oldali SQL lekérdezés, illetve a kliens oldali JS megoldás különbözik.

-boogie-