zdaję sobie sprawę, że jest masa tutoriali na ten temat, ale mimo niemalże kopiowania przykładów nie udało mi się sprawić, aby mój kod zadziałał.
Robię prostą przeglądarkę zdjęć, nawigacja pomiędzy obrazami napisana jest w AJAXie. Skrypt php pobiera dane dot. obrazka z bazy, po czym generuje kod xml. I wszystko chodzi pięknie jeśli obsługuję odpowiedź poprzez responseText. Niestety muszę odseparować sam obrazek od jego opisu. Obsługę responseXML skopiowałem z książki:
function showImgResponse(obj) { $('imgLoader').hide(); xmlRoot = obj.responseXML.documentElement; imgSrcArray = xmlRoot.getElementsByTagName('imgSrc'); imgIdArray = xmlRoot.getElementsByTagName('imgId'); var html = ""; for (var i=0; i<imgSrcArray; i++) html += imgSrcArray.item(i).firstChild.data; $('album').innerHTML = "Oto album:" + html; }
Problem jest taki, że skrypt nie wykonuje nic. Nie wyświetla nawet "Oto album". Samo zapytanie AJAX jest wykonywane, gdyż loader pojawia się i znika, co znaczy, że w.w. funkcja showImgResponse również działa. Najgorsze jest to, że konsola błędów nic nie wyrzuca, ani nie wyrzuca nic php. Naprawdę nie mam już pomysłu.
Tutaj jeszcze przykładowy XML:
<?xml version="1.0" encoding="utf-8"?> <response> <photo> <imgSrc><img src="img/ruch_run.jpg"/></imgSrc> <imgId><input type="hidden" value="4"/></imgId> </photo> <description> Czwarte nasze foto :) </description> </response>
Dzięki za pomoc,
Pozdrawiam,
Adam