Autor | Zpráva | ||
---|---|---|---|
hal_sk Profil |
#1 · Zasláno: 14. 8. 2011, 03:44:28 · Upravil/a: hal_sk
Zdravím.
Chcel by som JS funkciu, ktorá mi vráti výsledok z externého php skriptu, pričom parametrom funkcie bude jeho url adresa. Prosím o radu, ako modifikovať nasledovnú funkciu tak, aby mi vedela vrátiť "xmlhttp.responseText". function getAJAXresult(url) { xmlhttp=getHTTPObjectUser(); xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4 && xmlhttp.status==200) { result=xmlhttp.responseText; } } xmlhttp.open('get',url, true); xmlhttp.send(); } Ak tam dám niekde do funkcie "return result;", tak to nejde. |
||
Chamurappi Profil |
#2 · Zasláno: 14. 8. 2011, 04:26:55
Reaguji na hala_sk:
Víš, co znamená to první áčko ve zkratce AJAX? Viz má odpověď na nedávný dotaz. |
||
hal_sk Profil |
#3 · Zasláno: 15. 8. 2011, 12:51:49
Chamurappi:
Skúšal som hľadať nejaké riešenia, našiel som hlavne riešenia s použitím callback funkcie, alebo radu nevracať výsledok cez return, ale napasovať ho do ďalšej funkcie. Ani jedno som však nevedel aplikovať. Môžete mi poskytnúť ďalšie vodítko? |
||
peta Profil |
#4 · Zasláno: 15. 8. 2011, 13:02:29 · Upravil/a: peta
hal_sk:
text = ajax($url); Takovy zapis je v celku i nemozny, protoze onready je casova funkce a u ni neni jiste, kdy se v ni vysledek objevi. Jo, ona probiha, probiha a treba za 5s naplni result. Proto se tam dava xmlhttp.onreadystatechange = function ... Muzes udelat xmlhttp.result = xmlhttp.responseText; A pak ale musis mit jinou funkci, ktera pres casovac kontroluje, zda uz je xmlhttp.result != null. A nebo proste ten kod napis dovnit te onreadystatechange = function a nedavej tam zadny return result. xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4 && xmlhttp.status==200) { pridej(xmlhttp.responseText); } } function pridej(text) { mydiv.innerHTML = text; } Nebo xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4 && xmlhttp.status==200) { xmlhttp.func(xmlhttp.responseText); } } ... xmlhttp.func = pridej; xmlhttp.open('get',url, true); xmlhttp.send(); http://peter-mlich.wz.cz/programs/ajax1/ajax.htm |
||
_es Profil |
#5 · Zasláno: 15. 8. 2011, 13:03:22
|
||
hal_sk Profil |
#6 · Zasláno: 16. 8. 2011, 00:20:17
Dík, idem to stráviť.
|
||
Časová prodleva: 13 let
|
0