Autor | Zpráva | ||
---|---|---|---|
fritol33 Profil |
#1 · Zasláno: 22. 12. 2009, 15:17:19 · Upravil/a: fritol33
Dobrý den,
chtěl jsem do svého projektu zakomponovat Ajax a tak jsem se ho včera rozhodl nastudovat :o) Vše bylo ok, dokud jsem nenarazil na jeden problém - chtěl jsem v jeden okamžik poslat 2 žádosti na server, ale nepodařilo se :o( Zkoušel jsem všechno co mě napadlo, hledal jsem na googlu co to šlo... Na nic kloudného jsem nepřišel. Proto bych chtěl poprosit o pomoc. Celé je to na http://desktop.fritak.eu : jméno "test"-"123" ... Zatím jsem ve fázi kdy zkouším, jestli to vůbec bude spolu fungovat... Takhle vypadá kód: function deklarace_request() { if (window.ActiveXObject){ // Nadeklaruji obejkt i pro IE6... httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else { httpRequest = new XMLHttpRequest(); } return httpRequest; } function processtRequest(jake_id) { // ... if (httpRequest.readyState == 4) { if(httpRequest.status == 200) { var idmista = document.getElementById(jake_id); idmista.innerHTML = httpRequest.responseText; } else { alert("A jéje! Chybka:"+ httpRequest.status +":"+ httpRequest.statusText); } } } // Načíst něco do nějakého elementu function ajaxNapis(url,jake_id) { httpRequest = deklarace_request(); httpRequest.open("GET", url, true); httpRequest.onreadystatechange= function () { processtRequest(jake_id); } ; httpRequest.send(null); } A poté jsem chtěl takhle zavolat funkce: function ajaxAktualizuj() { // Aktulizace údajů NastavHidden(); // Je-li potřeba nastaví hidden (vždy je potřeba :o)) ajaxNapis("include/programy_start.php",'okna_start'); } function otevriOdkaz(odkaz) { // Otevře odkaz a inicializuje paměť (new par) sou = souradnice(); ajaxAktualizuj(); ajaxNapis("include/o/kresli_okno.php?new=true&q=" + odkaz + "&souradnice=" + sou,'kreslic'); } Chtěl jsem, aby při kliknutí na ikonu nacházející se na ploše otevřelo okno programu a v startmenu se objevil odkaz... Šlo mi jen jedno, ne obojí naráz. Asi se musí napřed nějak uzavřít předchozí žádost..? Předem díky za pomoc. |
||
_es Profil |
#2 · Zasláno: 22. 12. 2009, 17:05:45 · Upravil/a: _es
fritol33:
Všade používaš globálnu premennú httpRequest, ktorú stále prepisuješ. Lokálna premenná sa vo funkcii definuje cez príkaz var. Mohlo by to ísť nejako takto: function ajaxNapis(url,jake_id) { var httpRequest; function deklarace_request() { /* kód funkcie */ } function processtRequest(jake_id) { /* kód funkcie */ } /* zvyšný kód */ } |
||
fritol33 Profil |
#3 · Zasláno: 22. 12. 2009, 17:36:49
_es:
To jaks to napsal funguje :o) Tedy funguje... Nějak záhadně záleží, jestli dřív použiji ajaxNapis() pro start... Ale nejspíše bude chybka jinde. Děkuji moc, alespoň se pohnu z místa :o) |
||
Časová prodleva: 14 let
|
0