Autor Zpráva
fritol33
Profil
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
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 */
}
Tie dve vnorené funkcie majú prístup k lokálnym premenným url, jake_id a httpRequest.
fritol33
Profil
_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)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: