Toon posts:

[XML\AJAX] data weergeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Van mijn ajax handler krijg ik dit terug:

Nu probeer ik er met javascript door heen te lopen maar dat lukt niet echt.
de code
code:
1
2
3
4
5
6
7
       var xml = http.responseText;
            var root = xml.documentElement;
            var fotos = root.getElementsByTagName('item');
            alert(fotos);
            for (var i=0;i<fotos.length;i++){
               alert(getNodeValue(fotos[i],'ext'));
            }


Wanneer ik root alert is die al leeg.
Wat doe ik verkeerd?

[ Voor 9% gewijzigd door Verwijderd op 09-05-2006 20:01 ]


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

probeer responseXml ipv responseText ?

[ Voor 3% gewijzigd door SchizoDuckie op 06-04-2006 17:48 ]

Stop uploading passwords to Github!


Verwijderd

Topicstarter
Ja dat had ik net gedaan en dan krijg ik van xml terug:
[object xml document]

code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getNodeValue(obj,tag) 
{
    return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
}


function handleResponseFoto() 
{
    if(http.readyState == 4 && http.status == 200){
        if(http.responseText) {
            var xml = http.responseXML;
            var root = xml.documentElement;
            var fotos = root.getElementsByTagName('item');
            for(i = 0; i < fotos.length; i++) {
                ext = getNodeValue(fotos.item(i), 'ext');
            }
        } else {
             
        }
    } else {
          
    }
}

fotos.length is 0 zegt die.

edit:
wanneer ik root alert geeft die:
[object element] terug.

[ Voor 8% gewijzigd door Verwijderd op 06-04-2006 17:52 ]


Verwijderd

Logisch. Dat item element is je documentElement. En die bevat geen item elementen. Sowieso is je XML document niet valid, want er staat een </xml> teveel in. Ik gok dat je dus een <xml> helemaal aan het begin, direct na de XML declaration bent vergeten.

En aan het alerten van root heb je natuurlijk niet veel. Vraag dan de bijvoorbeeld root.tagName op. Dan weet je wat meer.

Verwijderd

Topicstarter
stom inderdaad van die <xml>

had ik zo snel niet gezien.

bedankt.

Verwijderd

Probeer zo veel mogelijk met bijvoorbeeld eerst met Firefox de XML response eens te bekijken door de URL gewoon in je locatiebalk te plakken. Dat scheelt enorm. Je kunt pas fatsoenlijk met XML werken als je weet dat je document valid is.

Nog mooier: werk server-side ook met een XML library. Zo kun je in elk geval geen validatiefouten krijgen door stommigheidjes.

Verwijderd

Topicstarter
En dan heeft pear.php.net de mooiste xml library denk ik?
Pagina: 1