Ответ 1
Похоже, что обнаружена ошибка синтаксического анализа данных. Вы хотите, чтобы XMLHttpRequest анализировал XML-данные, поэтому выбранный URL должен возвращать действительный XML. Существует несколько возможных причин, по которым это работает, но не выполняется на другой платформе:
- Заголовки запросов браузера могут быть разными, в результате чего возникает другой ответ сервера. Некоторые серверы могут давать ответы статуса HTTP 200 с некоторым сообщением об ошибке в случае проблем, который не анализирует действительный XML.
- Возвращенный XML может быть проблематичным и хорошо разбирается в iPhone из-за причуд в браузере, но не работает в другой версии/варианте WebKit, который использует Android.
- Полученные данные повреждены из-за других заголовков запросов, провайдера, прокси или других эффектов. Например, некоторые прокси обрабатывают запросы HTTP/1.0, а серверы плохого поведения обслуживают HTTP/1.1 с чередующейся кодировкой каждый раз, поэтому XML будет поврежден заголовками блоков.
В целях отладки вы можете изменить запрос на текстовый запрос и показать извлеченные данные или даже сохранить его на SD-карте устройства, если это возможно в вашем приложении. Затем вы можете проверить, что он был неповрежденным и действительно является XML.