2009-07-12 11 views
0

Je retourne du code XML de PHP à Javascript via ajax et j'obtiens des erreurs 'xml invalides'. Le xml Je retourne ressemble à ceci:xml validité, ajax et php

<response>
<song>tdb2009-01-29s2s06</song>
<song>tdb2009-01-29s1s02</song>
</response>

Et mon javascript pour Parse il ressemble:

function u_handleServerResponse(){ 
    //pull xml from xml response 
    var xmlResponse = xmlHttp.responseXML; 

    //check to see if xml was pulled 
    if(!xmlResponse || !xmlResponse.documentElement){ 
    throw("Invalid XML Structure:\n" + xmlHttp.responseText); 
    } 

    //this is for catching errors with firefox 
    var rootNodeName = xmlResponse.documentElement.nodeName; 

    //check for errors 
    if(rootNodeName == "parsererror"){ 
    throw("Invalid XML Strucutre"); 
    } 

    //get the root 
    xmlRoot = xmlResponse.documentElement; 

    var songArray = xmlRoot.getElementsByTagName("song"); 

    for(var i = 0; i < songArray.length; i++){ 
    etc., etc... 

Et je deviens un

Erreur lors de la lecture de la réponse: code XML non valide

erreur. Est-ce que tout cela vous semble juste? Le xml est-il faux ou est-il mal chargé? Toute aide est grandement appréciée. Merci à l'avance ...

Répondre

0

Vous devrez peut-être inclure un en-tête xml ...

<?xml version="1.0" ?> 
+0

Savez-vous comment je pourrais le faire en PHP (où je construis le xml)? – danwoods

0

En plus de l'en-tête XML a souligné par rikh, vous devrez peut-être déclarer l'en-tête Content-Type comme text/xml pour que le fichier responseXML soit correctement rempli.

+0

Je fais cela @ le début du fichier php qui crée et renvoie le fichier XML. Ai-je besoin de le faire ailleurs? // danwoods