| Autor | Zpráva | ||
|---|---|---|---|
| souki Profil |
#1 · Zasláno: 23. 8. 2006, 20:23:35
Potřeboval bych poradit s AJAXem. Trápím se s tím už dlouho a pořád nemůžu nic najít. Přiznávám, že JS není moje silná stránka.
Je nějaký způsob jak dostat data získaná přes AJAX přímo do proměnné? Chtěl bych ale zachovat komunikaci s PHP v jedné funkci. Tzn. že si zavolám třeba ajax("ajax.php?akce=pridejuzivatele","franta") a vrátí mi to id přidaného uživatele. Zkoušel jsme to řešit přes globální proměnnou a podobně, ale nikdy jsem nedokázal obejít zpoždění. Budu vděčný i za nakopnutí správným směrem... |
||
| venca12 Profil |
#2 · Zasláno: 24. 8. 2006, 10:28:05
Člověče, nevím co je to za funkci ta ajax();, kterou zde uvádíte, ale já doposud žil v domění, že Ajax je název pro technologii/technologie komunikující se serverem, bez nutnosti refreshe stránky (laicky řečeno). A k tomu aby jste mohl Ajax použít, musíte si vybrat jeden z dostupných prostředků. Pokud se bavíme o javascriptu, volba padne asi na XMLHttp. I když jak teď nad tím přemýšlím, nestáhnul jste si někde nějakou knihovnu, která má tuhle funkci ajax, ve který je volán XMLHttp objekt a který má nastavený asynchronní přenos, proto se nemůžete poprat s tím spožděním? No asi jo. Pro vás je důležitý třetí parametr XMLHttp, který určuje, zda se jedná o synchronní, anebo asynchronní přenos. Synchronní čeká na odezvu serveru a nevykonává další příkazy asynchronní ne, jasný.
Zkuste si naprogramovat, pro inspiraci můžete použít následující: if (document.all) |
||
| souki Profil |
#3 · Zasláno: 24. 8. 2006, 10:35:03
Ta funkce "ajax" byl jen příklad.
Tohle všechno vím, ale chybí trochu praxe. Vycházel jsem z tohoto skriptu http://www.ms.mff.cuni.cz/~malej9am/vyuka/js/ajax/ a zde je odpověď vázána na onreadystatechange ztn získá se až když je readyState==4 Abyc nemusel neustále vypisovat celé spojení, tak jsem si to zabalil do funkce "ajax", která se volá parametry url, co poslat. A ejjí návratovou hodnotou měla být odpověd. Podle toho co píšete to znamená, že nemusím čekat až readyState==4 a stačí do funkce anpsat return xmlhttp.responseText; a skript stojí dokud odpověď nezíská? |
||
| souki Profil |
#4 · Zasláno: 24. 8. 2006, 12:44:53
Tak jsem to vyřešil.... celý můj problém byl v nastavení xmlhttp.open("GET", "skript.php?hodnota=" + hodnota, false); na neasynchronní přenos
|
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0