У меня есть вызов на веб-сервис, который возвращает следующий необработанного ответJQuery не может найти элемент в XMLDocument только в Firefox
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 1516
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Date: Fri, 12 Feb 2016 10:28:58 GMT
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<OperationListResponse xmlns="http://tempuri.org/">
<OperationListResult xmlns:a="http://schemas.datacontract.org/2004/07/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:data>123</a:data>
<a:operation_id i:nil="true"/>
<a:status>OK</a:status>
</OperationListResult>
</OperationListResponse>
</s:Body>
</s:Envelope>
Когда я получаю этот XML в моем коде яваскрипта, я пытаюсь прочитайте элемент «статус», используя следующий код:
//dataResponse is my javascript valid XMLDocument
x = $(dataResponse).find('status').text();
И вместо получения «ОК», я получаю «». Это происходит только в Firefox. Странно то, что он отлично работает в Chrome, Opera, Edge и Safari. Во время отладки в Firefox, наблюдая за объектом dataResponse, я действительно вижу, что у узла «status» есть значение «OK».
Любой ключ о том, как решить эту проблему?
Редактировать: Я пробовал делать изменения, которые предложил Джай, и я получил странные результаты от firefox. Если я наблюдаю за переменной, которая делает «find», я могу видеть текст. Если я попытаюсь найти, просто набрав «$ (dados) .find (« a \: status »). Text()«, я не вижу никаких результатов. Firefox смотреть панель:
'x = $ (dataResponse) .find ('a \\: status'). Text();' try with escaping the colon. – Jai
Возможно, вам нужно поделиться еще одним кодом с частью запроса и тем, как вы его читаете и разбираете. –
@Jai это имеет большой смысл. Добавьте ответ, конечно, он будет проверен как правильный. –