| 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: 17 let
|
|||
0