Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt z książki nie działa
Forum PHP.pl > Forum > XML, AJAX > AJAX
Omenomn
Cześć, uczę się ajaxa, ponieważ chcę zrobić upload plików z wykorzystaniem tej technologii.
Książka, z której korzystam to "Ajax i Php. Tworzenie interaktywnych aplikacji internetowych.
Jestem na etapie ajaxa pobierającego dane z dokumentu xml.
Przepisałem wszystko dokładnie z książki sprawdzałem literkę po literce chyba z pięc razy i nie mogę znaleźć błędu.
Proszę o pomoc. O to kod:

var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject()
{
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}
catch(e){
try{
xmlHttp = new ActiveXObject('Microsoft.XMLHttp');
}
catch(e){ }
}
if (!xmlHttp)
alert('Podczas tworzenia obiektu klasy XMLHttpRequest wystąpił błąd');
else
return xmlHttp;

}
function process(){
if (xmlHttp)
{
try
{
xmlHttp.open('GET','books.xml',true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}catch(e)
{
alert('Nie udało się nawiązać połączenia z serwerem:\n' +
e.toString());
}
}
}
function handleRequestStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
try{
handleServerResponse();
}
catch(e)
{
alert('błąd podczas odczytywania odpowiedzi:' + e.toString());
}
}else
{
alert('Podczas pobierania danych wystąpił błąd:\n' +
xmlHttp.statusText);
}
}
}
function handleServerResponse()
{
var xmlResponse = xmlHttp.responseXML;
xmlRoot = xmlResponse.documentElement;
titleArray = xmlRoot.getElementsByTagName('title');
isbnArray = xmlRoot.getElementsByTagName('isbn');
var html ='';
for (var i=0;i<titleArray.length;i++)
html += titleArray.item(i).firstChild.data + ', ' +
isbnArray.item(i).firstChild.data + '<br/>';
myDiv = document.getElementById('myDivElement');
myDiv.innerHTML = '<p>Serwer mówi:</p>' + html;
}
nospor
1) uzywaj BBCODE
2) Jak cos nie dziala, to milo jest napisac, czym objawia sie niedzialanie...
3) A storzyles plik books.xml?
4) Zainteresuj sie jQuery. Z nim AJAX to przyjemnosc
Omenomn
Tak stworzyłem plik books.xml
Niedziałanie objawia się komunikatem
błąd podczas odczytywania odpowiedzi: TypeError Cannot read property 'documentElement' of null.
Znam jquery i potrafię zrobić wiele w nim łącznie z Ajaxem.
Formularz logowania bez przeładowania strony, albo sprawdzanie czy istnieje uzytkownik. Mam tylko problem z uploadem pliku.
Dlatego sie zagłębiam w samego ajaxa bez jquery.
nospor
AJAXem nie da sie uploadowac plikow smile.gif
Omenomn
to jak zrobic upload bez przeładowania strony?
nospor
W necie jest cala masa kontrolek do tego. Wystarczy poszukac.

Ja osobiscie robie prosty upload bez przeladowania strony przy wykorzystaniu IFRAME
Omenomn
ok, spróbuję tym IFRAME'em, dzięki.
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-2024 Invision Power Services, Inc.