2013-02-09 2 views
0

Мне нужно прочитать XML-запрос с сервера. Если я сохраню XML локально, все работает нормально.XML из Webservice syntaxerror jquery

Сценарий:

$(document).ready(function() { 
    $.ajax({ 
     type: 'GET', 
     url: 'http://localhost:1410/?SNO=56789&ASQL=plu%20mec%2010;', 
     crossDomain: true, 
     dataType: "jsonp", 
     success: parseXml 
    }); 
}); 

function parseXml(xml) { 
    $(xml).find('dataset').each(function() { 
     $("#output").append($(this).find('var[key="article.name"]').text() + "<br />"); 
    }); 
} 

XML Выход:

<document name="screen"> 
    <section name="status"> 
    <dataset> 
     <var key="organization.number">2919</var> 
     <var key="organization.name">Testname</var> 
     <var key="organization.businessdate">09.02.2013</var> 
     <var key="situation.number">0</var> 
     <var key="situation.name">Normalbetrieb</var> 
     <var key="site.number">0</var> 
     <var key="site.name">Normalbetrieb</var> 
     <var key="pricelevel.number">1</var> 
     <var key="pricelevel.name">Standardpreis</var> 
     <var key="terminal.number">0</var> 
     <var key="terminal.name">WebKasse</var> 
     <var key="terminal.status">open</var> 
     <var key="terminal.tapster">inactive</var> 
     <var key="waiter.number">1</var> 
     <var key="waiter.name">Kellner 1</var> 
     <var key="table.number">5</var> 
     <var key="table.balance">3.2</var> 
     <var key="table.sales">3.2</var> 
     <var key="profile.number">1</var> 
     <var key="profile.name">Standard</var> 
     <var key="execution.severity">I</var> 
     <var key="execution.code">23600003</var> 
     <var key="execution.message">Mec article list.</var> 
    </dataset> 
    </section> 
    <section name="plu.list"> 
    <dataset> 
     <var key="type">article</var> 
     <var key="article.number">1</var> 
     <var key="article.name">0,1 l Becher Sekt</var> 
     <var key="article.displayname"/> 
     <var key="article.price">3.7</var> 
     <var key="article.plunumber">1</var> 
     <action key="STANDARD">book plu 1;</action> 
    </dataset> 
    [...] 

С помощью этого кода моя страница является пустым и показывает эту ошибку:

SyntaxError: syntax error 

<document name="screen"><section name="status"><dataset><var[...] 

Странная вещь: я могу увидеть вывод XML в ошибке!

Если изменить data type: к xml

Нет ошибок, страница пустым.

+0

http://img191.imageshack.us/img191/9229/synerr.png Если я нажимаю на ошибку, я могу видеть файл xml отверстия?! – TheCyX

ответ

0

Вы должны использовать dataType: xml, потому что вы ожидаете получить ответ xml. Если у вас разные результаты с разными веб-серверами, проверьте тип ответа MIME.

Я думаю, что проблема неправильная MIME-тип.

Или вы можете получить ответ в виде строки, и разобрать его, как XML с JQuery

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>", 
xmlDoc = $.parseXML(xml), 
$xml = $(xmlDoc), 
$title = $xml.find("title"); 
+0

Content-Type: text/xml; charset = utf-8 "разобрать его как xml ..." Я понятия не имею, как это сделать – TheCyX

Смежные вопросы