Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][AJAX] Nauka AJAXa - błąd w książce ?
Forum PHP.pl > Forum > Przedszkole
Watt
Witam,
Zacząłem uczyć się AJAXa z książki, przepisałem sobie z niej kod i nie wiem czemu nie działa. Mógłby ktoś pomóc ?
Poniżej podaje kod:
Kod
<html>
  <head>
  <title>Ajax przy pracy</title>
  <script language="javascript">
  var XMLHttpRequestObject = false;
  if (window.XMLHttpRequest) {
  XMLHttpRequestObject = new XMLHttpRequest ();
  }else if (window.AtiveXObject) {
  XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
  function getData (dataSource, divID)
  {
  if(XMLHttpRequestObject) {
  var obj = document.getElemetById(divID);
  XMLHttpRequestObject.open("GET", dataSource);
  XMLHttpRequest.onreadystatechange = function ()
  {
  if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
  obj.innerHTML = XMLHttpRequestObject.responseText;
  }
  }
  XMLHttpRequestObject.send(null);
  }
  }
  </script>
  </head>
  <body>
  <H1>Przechwytywanie danych z Ajax</H1>
  <form>
  <input type = "button" value ="Display Message" onclick = "getData('data.txt', 'targetDiv')">
  </form>
  <div id="targetDiv">
  <p> Przechwycone dane będą tu</p>
  </div>
  </body>
  </html>


Dziękuję i pozdrawiam smile.gif
Maxik
Mogłeś coś źle przepisać. Jeśli to książka helionu to poszukaj jej w katalogu na helion.pl i ściągnij przykłady z FTP.
ziqzaq
Witam.
~Maxik ma rację.
Masz literówki w kodzie.
Firefox + Firebug to podstawa.
Posprawdzaj nazwy zmiennych/metod (są conajmniej 2 błędy).
Watt
Właśnie mam z nim problem. Nie wiem w której zakładce mam napisane błędy skryptu.

@edit, juz wiem gdzie sa błędy, ale ich nie rozumiem:

Kod
Nie udzielono uprawnien do odczytania wlasciwosci XULElement.accessKey
[url=""]eval()[/url]()R4jx1qLY...epQ%3D%3D (wiersz 1)[url=""](?)()[/url](undefined)M670oJkQ...qlA%3D%3D (wiersz 64)[url=""]_firebugEvalEvent[/url]()


Co to znaczy ? Nie wiem o co mu chodzi.

@edit2, nie pokazuje sie teraz rzaden błąd, gdy zamieniłem
Kod
var obj = document.getElemetById(divID);

na
Kod
var obj = document.getElementById(divID);

Plik data.txt mam w folderze z plikiem html i dalej nie chce działać.

@edit3, biggrin.gif przepraszam, za trzeciego edita, ale ten plug mi chyba szaleje:
Kod
Nie udzielono uprawnien do odczytania wlasciwosci XULElement.accessKey
XPCSafeJSObjectWrapper.cpp
Line 445
Skie
Kod
}else if (window.AtiveXObject) {


Powinno być:

Kod
}else if (window.ActiveXObject) {


Przyjrzyj się swojemu kodowi (tak się pisze?) dokładniej, bo widzę, że piszesz dość chaotycznie - pewnie masz tam jeszcze wiele literówek. 99% błędów bierze się właśnie z takich pomyłek :-)
Watt
Wiem, ale trudno mi odróznić poprawny ciąg od błędnego, straszne mi sie to jeszcze zlewa, a bardzo chcę się nauczyć.
Firebug nie wykryje literówek ?
Maxik
Kod
function callAHAH(url) {
    try {
         req = new XMLHttpRequest();
    } catch(err1) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(err2) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(err3) {
                req = false;
            }
        }
    }
    
    var rand = parseInt(Math.random()*99999999);
    req.onreadystatechange = responseAHAH;
    req.open("GET", url+'&rand='+rand, true);
    req.send(null);
}

function responseAHAH() {
    if(req.readyState==4) {
        if(req.status==200) {
            document.getElementById('tresc').innerHTML = req.responseText;
        } else {
            alert("Błąd serwera");
        }
    } else {
        document.getElementById('tresc').innerHTML = 'Wczytywanie';
    }
}


Jak się uczyłem to z książki przepisałem taki kod. Może pomoże Ci się nauczyć.
Watt
@UP, wiem, ale ja chciałbym kontynuuowac 'tok myślenia' tej książki smile.gif
Już trochę kolega mi zmienił kod, ale dalej nie działa:
Kod
<html>
<head>
<title>Ajax przy pracy</title>
<script language="javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest ();
}else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function ()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200 ) {
   obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<H1>Przechwytywanie danych z Ajax</H1>
<form>
<input type = "button" value ="Display Message" onclick = "getData('data.txt', 'targetDiv')">
</form>
<div id="targetDiv">
<p> Przechwycone dane będą tu</p>
</div>
</body>
</html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.