2012-05-30 4 views
0

Я пытаюсь понять, что мешает jquery анализировать мой XML-ответ.Selecton on jquery ajax reply

Мой код выглядит следующим образом:

$.ajax({ 
    url: "ajax_gateway.php?request=agentdetails&agentid=6352", 
    dataType: "xml", 
    success: function(xml) { 
     console.log(xml); 
     alert($('agentname', xml).val()); 
     //$('input[name="agent_name"]').val($('agentname', xml).val()); 
    } 
}); 

Я могу видеть, что мой предназначен XML записывается в консоли Chrome. Я проверил заголовки, и мой ответ AJAX отправлен с «Content-Type: text/xml». К сожалению, мое предупреждение пусто, и если я пытаюсь сделать:

$(xml).("agentname").val() 

Я получаю сообщение об ошибке в хроме JS консоли с надписью «неперехваченный SyntaxError: Неожиданный маркером (».? Я пропускаю что-то у меня есть несколько других функций в моем "ajax_gateway", и все они работают отлично ...

Edit: Мой XML ответ:

<?xml version="1.0"?> <response><employee><agentname>My Name</agentname><agentteam>My Team</agentteam><agentphoneid>6352</agentphoneid></employee></response>

Хотя papaiatis ответил на мой вопрос, что кто-нибудь удосужился объяснить, почему:

$(xml).("agentname").text(); 

В действительности?

+0

Не могли бы вы предоставить нам также XML? – papaiatis

ответ

2

Попробуйте вместо этого использовать text().

alert($('agentname', xml).text());

Val() используется вместе с элементами формы.

+0

Да, 'val' для элементов формы, а не узлов XML. +1 – gdoron