Hi!
Nem nagyon szoktam itt programozási kérdést feltenni, de már 3 hete keresek valamire megoldást - eredmény nélkül -, ráadásul nyílván teljesen triviális az egész.
A célom az lenne, hogy ha egy oldalon egy gombra rákattint valaki, akkor fusson le egy javascript függvény, ami egy
ok
nevű változónak értéket ad, és ez a változó 3 részből tevődik össze:
1)
ok += 'a';
2) Az adott szerveren, webcímen keresztül elérhető fájl tartalma (
5
);
3)
ok += 'b';
tehát az
ok
változó értéke
ok += 'a5b'
legyen.
Ez így nem is tűnik bonyolultnak, viszont az általam alkalmazott módszerrel, az aszinkronitás miatt az ok változó értéke csak 'ab' lesz, és az 5- ös később tevődik hozzá, szóval jó esetben is 'ab5'.
A kódom itt található: kód
Köszi.
- 1923 megtekintés
Hozzászólások
A) nem asszinkron hívást indítasz: request.open("GET", url, false);, vagy
B) az ok += 'b'; kódot a state_change függvénybe építed be.
- A hozzászóláshoz be kell jelentkezni
Köszi a választ.
Az A) esetben, tehát ha
request.open("GET", url, false);
- t használok, nem tudom mi miatt, de máshogyan működik a kód. Eredetileg 2 alert van benne, és mindkettő fel is pattan
true
esetén, viszont
false
esetén csak a t- beli alert bukik fel. Ahogy nézem, amiatt, mert ebben az esetben nem fut le az
okvaltozik()
függvény, mivel nem is kerül bele az 52. sorban kezdődő
if
feltételbe.
Jobban megvizsgálva az 50. sorban lévő
case 4:
- be sem talál bele. Van esetleg ötleted, hogy miért nem? No és hogy hogyan lehetne úgy megírni, hogy beletaláljon?
Köszi.
- A hozzászóláshoz be kell jelentkezni
Még jobban megvizsgálva
false
esetén nem is fut le a state_change függvény, nyílván ez lehet a probléma :- ), de miért nem fut le??? (A szerverről ebben [
false
] az esetben is lekéri az url- ben megadott fájl tartalmát.)
- A hozzászóláshoz be kell jelentkezni
Ha szinkron módon hívod (false), akkor nem hívogatja az onreadystatechange függvényt, tekintve hogy addig ott áll a híváson amíg meg nem jön a válasz. Tehát a függvényed tartalmát bemásolhatod az ajax hívás mögötti részre ... (persze hibát/státuszt azért kell ellenőrizni)
- A hozzászóláshoz be kell jelentkezni
Huh, ez így tökéletesen működik, nagyon nagyon köszi.
- A hozzászóláshoz be kell jelentkezni