AJAX kérés eredményében JS függvény. Lehetséges?
Sziasztok!
Az AJAX-al való ismerkedés közben problémába ütköztem. Kipróbáltam, hogy AJAX-al oldalfrissítés nélkül iratok ki szövegeket, képeket, linkeket adatbázisból. Aztán megoldódott az ékezetes karakterek problémája is.
És olyan elemeket is kiírattam AJAX-al amikre JS eseménykezelők vannak meghatározva. Ezek azonban csak akkor működtek, ha egy már létező JS függvényt és JS változókat használtak.
A kérdésem tehát az lenne, hogy megoldható-e az, hogy az AJAX lekérdezés eredményében definiálok JavaScript függvényeket, meg Javascript változókat és tömböket. Mert ezek mind nem sikerültek...
PÉLDÁUL ILYET SZERETNÉK:
Lekérek képeket az adatbázisból és közben meghatározok egy JS tömböt, amibe betöltöm a képek ID azonosítóját.
(Ez jelenleg nem sikerül. Nem jön létre a tömb és nem töltődik fel tartalommal.)
Előre is köszönöm ha segítetek!
■ Az AJAX-al való ismerkedés közben problémába ütköztem. Kipróbáltam, hogy AJAX-al oldalfrissítés nélkül iratok ki szövegeket, képeket, linkeket adatbázisból. Aztán megoldódott az ékezetes karakterek problémája is.
És olyan elemeket is kiírattam AJAX-al amikre JS eseménykezelők vannak meghatározva. Ezek azonban csak akkor működtek, ha egy már létező JS függvényt és JS változókat használtak.
A kérdésem tehát az lenne, hogy megoldható-e az, hogy az AJAX lekérdezés eredményében definiálok JavaScript függvényeket, meg Javascript változókat és tömböket. Mert ezek mind nem sikerültek...
PÉLDÁUL ILYET SZERETNÉK:
Lekérek képeket az adatbázisból és közben meghatározok egy JS tömböt, amibe betöltöm a képek ID azonosítóját.
(Ez jelenleg nem sikerül. Nem jön létre a tömb és nem töltődik fel tartalommal.)
Előre is köszönöm ha segítetek!
Nem teljesen értem, mit
Ha jól sejtem, neked egy globális változó kellene, amit valamennyi JS függvényből el tudsz érni, de pedig az ajax-ból lokális tömbbe pakolod az adatokat. De így látatlanba csak tippelni tudok.
eval
Rossz felől közelíted a
Üdv! Kicsit nehezen értem
Kicsit nehezen értem amit írsz.
Először is ha az ajax válaszba teszel javascript kódot, azt ki kel értékelni (eval) ami nem olyan egyszerű egyébként ha pl. az a cél, hogy a globális névtérben legyen kiértékelve a kód:
onreadystatechange
-be avar
kulcsszóval felvezetett változó nem érhető el onnan ahonnan hivatkoznál rá. Ha ez lenne a helyzet akkor a tömböt kösd egy olyan helyre amit elérsz minden honnan pl. praktikusan a window-hoz.Köszi
Ezek alapján fogok ma éjjel - egyenlőre - próbálkozni.
Ha az AJAX hívás olyan HTML
Arról nem is beszélve, hogy
Értem
Köszönöm a hozzászólásodat és "tgr"-ét is. De a többiek is hozzá járultak, hogy sok mindent megértsek amivel eddig nem voltam tisztában.
Köszönöm!
nagyon érdekes
Van fejlesztés alatt álló oldal is, ahol igen jelentős mennyiségű függvényt és lefutó scriptet töltök be ajaxon keresztül, szintén probléma nélkül, mindenféle extra körültekintés nélkül, simán a behúzott htm fájlban inline elhelyezve.
Semmiféle problémával nem találkoztam még ezzel kapcsolatban.
???
Szerinted szinkron és aszinkron kérés esetén VAGY iframe megoldás vagy xmlhttprequest esetén sincs gond? Tehát elképzelhető hogy nem bármilyen típusú AJAX kérés esetén működő megoldás ez?
Milyen előnyökkel jár az, ha
ajax
Vannak dolgok amik viszont a végleges oldal esetén is maradhatnak a fetchelt fájlban, pl a betöltés után egy változónak értéket adni, vagy lefuttatni egy jquery show v hide effektet, stb.
Amit mondani akartam, hogy én ennek a módszernek semmilyen hátulütőjével nem találkoztam, minden rendben működött, kényelmesen és hatékonyan lehet így megoldani mindent.
Mindez amiket írok jquery ajax esetében működik, teljesen saját js ajax lekéréseket már nem használok (emlékeim szerint ott nem így megy, szerintem a jquery automatikusan evalozza a script tagek között talált tartalmat, de ennek utána lehet nézni, amíg kipróbáltan működik engem nem érdekelnek a részletek). Iframe technikailag egy külön böngésző ablakként funkciónál, nagyon ritkán használom, de elvileg mindennek működnie kellene, ha jól emlékszem IE-ben voltak furcsa biztonsági letiltások iframe esetében, de az is cookiekra vonatkozott, nem js-re.
Nem megbízható
Egyébként mivel tapasztalatom még nincs ezen a téren inkább megoldottam JS nélkül az AJAX kérést, nehogy tényleg gond legyen valahol valamikor e miatt.
De nagyon örültem a Te hozzászólásaidnak is!
böngésző megfelelés