Получение XML-ответа в AJAX - PullRequest
       1

Получение XML-ответа в AJAX

1 голос
/ 23 ноября 2011

Я написал фрагмент кода Java (Spring controller) для отправки XML-ответа в AJAX. К сожалению, я не могу получить ответ в виде XML, используя xhr.responseXML, но могу в виде текста, используя xhr.responseText. Вместо того, чтобы анализировать текст на стороне клиента, кто-нибудь подскажет, в чем проблема? Здесь я прилагаю контроллер и код AJAX.

Spring controller code:
-------------------------------
String xmlResp = "<cities>";
xmlResp+="<city>";
xmlResp+="<name>" + "Hyderabad" + "</name>";
xmlResp+="<population>" + "3000000" + "</population>";
xmlResp+="</city>";
xmlResp+="<city>";
xmlResp+="<name>" + "Bangalore" + "</name>";
xmlResp+="<population>" + "4500000" + "</population>";
xmlResp+="</city>";
xmlResp+="</cities>";

response.setContentType("text/xml");
response.getWriter().write(xmlResp);


AJAX code:
-----------------------------

reading as XML:

var xml=xhr.responseXML;
        alert(xml);

reading as Text
var text=xhr.responseText;
        alert(text);

для удобства структура XML:

<cities>
    <city>
        <name>Hyderabad</name>
        <population>3000000</population>
    </city>
    <city>
        <name>Bangalore</name>
        <population>4500000</population>
    </city>
</cities>

1 Ответ

0 голосов
/ 23 ноября 2011

Ваш XML не правильно сформирован:

String xmlResp = "'<'cities>";

даст:

'<'cities>
  • Do используйте валидатор или пух для проверки вашегоXML
  • Не создавайте XML-документ путем объединения строк, используйте вместо него библиотеку XML
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...