2015-08-06 3 views
0

Я пытаюсь получить имя человека через XML. Я использую Jquery, чтобы получить и применить имя к элементу html. Я смог отлаживать, чтобы понять, что он получает имя человека, но не добавляет его. Любые идеи? моя функция свободна от синтаксиса, но я не могу понять, почему она не работает.GET Ajax JQuery

$.ajax({ 
    url: 'http://support.example.com/support/api.asp?token=e6k05nbssjkjqo3qk7rd4rvr01hvlv&cmd=viewPerson', 
    datatype: 'xml', 
    success: function(data) { 
     $(data).find('sFullName').each(function() { 
      var sf = $(this).find('text').text(); 
      $('span#username').append(
       $('<a />', { 
        text: sf 
       }) 
       );    
     }); 

    }, 
    error: function() { 
     console.log(); 
    } 
}); 
+3

синтаксис бесплатно ?? 'console.log $ (...' ?? –

+0

Я просто удалил его .. – Raja

+0

CORS, вы не можете делать запросы, которые не находятся на одном домене, возможно? Какова ошибка в консоли? – Hacketo

ответ

0

Для каждого элемента <sFullName> вы найти все <text> элементы.

Данные, которые вы запрашиваете внешний вид, в частности, как это:

<sFullName><![CDATA[Rajat Sharma]]></sFullName> 

Элемент не имеет <text> элементов, как его потомки.

Вы просто хотите:

var sf = $(this).text(); 

var data = $.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?><response><person><ixPerson>400</ixPerson><sFullName><![CDATA[Rajat Sharma]]></sFullName><sEmail><![CDATA[[email protected]]]></sEmail><sPhone></sPhone><fAdministrator>true</fAdministrator><fCommunity>false</fCommunity><fVirtual>false</fVirtual><fDeleted>false</fDeleted><fNotify>true</fNotify><sHomepage></sHomepage><sLocale><![CDATA[en-ca]]></sLocale><sLanguage><![CDATA[en-us]]></sLanguage><sTimeZoneKey><![CDATA[Eastern Standard Time]]></sTimeZoneKey><sSnippetKey><![CDATA[`]]></sSnippetKey><ixBugWorkingOn>0</ixBugWorkingOn><nType>1</nType></person></response>"); 
 

 
$(data).find('sFullName').each(function() { 
 
    var sf = $(this).text(); 
 
    $('span#username').append(
 
    $('<a />', { 
 
     text: sf 
 
    })); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span id="username"></span>

+1

@Hacketo - Это не комментарий. Комментарии start ' Quentin

+0

Я узнал, что происходит! я заменил '$ (data) .find ('sFullName'). each (function() {' с '$ (data) .find ('person'). each (function() {' и 'var sf = $ (это) .find ('Text'). text(); 'WITH' var sf = $ (this) .find ('sFullName'). text(); ' – Raja