Skrypt z książki nie działa |
Skrypt z książki nie działa |
4.02.2014, 12:34:42
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) |
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; } |
|
|
4.02.2014, 12:39:54
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
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 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.02.2014, 12:55:47
Post
#3
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) |
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. |
|
|
4.02.2014, 12:59:28
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
AJAXem nie da sie uploadowac plikow
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.02.2014, 13:22:21
Post
#5
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) |
to jak zrobic upload bez przeładowania strony?
|
|
|
4.02.2014, 13:25:18
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
W necie jest cala masa kontrolek do tego. Wystarczy poszukac.
Ja osobiscie robie prosty upload bez przeladowania strony przy wykorzystaniu IFRAME -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.02.2014, 13:30:04
Post
#7
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (20%) |
ok, spróbuję tym IFRAME'em, dzięki.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 05:13 |