2009-07-12 3 views
0

Я возвращаю некоторый XML из PHP в Javascript через ajax и получаю некоторые «недопустимые xml» ошибки. XML я возвращаю выглядит так:xml validity, ajax и php

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

И мой Javascript, чтобы разобрать это выглядит следующим образом:

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... 

И я получаю

Ошибка чтения ответа: Неверный XML Strucutre

погрешность. Все это выглядит правильно? Является ли xml неправильным или неправильно загружается? Вся помощь очень ценится. Заранее спасибо ...

ответ

0

Вам может понадобиться включить заголовок XML ...

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

Вы знаете, как я мог бы сделать это в PHP (где я построения XML)? – danwoods

0

В дополнение к заголовку XML указал rikh, вам, возможно, придется объявить заголовок Content-Type, как text/xml для правильного заполнения responseXML.

+0

Я делаю это @ начало php-файла, который создает и возвращает xml. Нужно ли мне это делать в другом месте? danwoods