Странные символы в начале ответа XML AJAX? - PullRequest
2 голосов
/ 27 января 2011

Я делаю несколько вызовов AJAX, которые возвращают данные XML.Когда я получаю данные обратно, моя функция успеха (в JQuery) пытается преобразовать XML в JSON (с помощью плагина).Мне быстро напомнили, почему я не могу предположить, что я получу VALID XML из моего AJAX-запроса - потому что оказывается, что некоторые ответы XML были недействительными - из-за сбоя преобразования JSON, сбоя сценария и т. Д...

Мои вопросы:

  1. Как лучше всего проверить правильность XML в ответе AJAX?Или я должен просто попытаться преобразовать JSON, а затем быстро проверить, допустим ли объект JSON?
  2. При устранении неполадок с XML я обнаружил, что в ОЧЕНЬ начале XML-ответа есть несколько странных символов,Вот изображение из моего Firebug:

Bad XML Response

Должен ли я попытаться обнаружить и удалить ответ этих символов или может быть что-то не так с моей кодировкой?

Любая помощь приветствуется!Дайте мне знать, если потребуется дополнительная информация!

Ответы [ 2 ]

5 голосов
/ 27 января 2011

Это знак порядка следования байтов UTF-8 , если его неправильно интерпретировать как ISO-8859-1.

Вы не можете безопасно избавиться от этого, потому что это всего лишь симптом более серьезной проблемы. Ваш контент закодирован как UTF-8. Где-то по пути вы расшифровываете его как ISO-8859-1. Если вы пытаетесь скрыть проблему, удаляя спецификацию, вы настраиваете себя на дальнейшие проблемы, как только начинаете использовать не-ASCII символы. Единственная причина, по которой все выглядит даже вроде правильно, заключается в том, что ASCII является общим подмножеством UTF-8 и ISO-8859-1.

1 голос
/ 27 января 2011

Странные символы - Метка порядка следования байтов и на самом деле являются действительными XML, в большинстве случаев вы, скорее всего, просто удалите их без риска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...