2010-11-29 10 views
0

Ich muss Daten von einer API erhalten, die XML-Format zurückgibt. hier ist die api url: http://api.tubeupdates.com/?method=get.status&lines=all&format=xmljquery, wie man Daten von API xml

hier ist meine jQuery-Code:

$(document).ready(function(){ 
       $.get('http://api.tubeupdates.com/?method=get.status&lines=all&format=xml', function(d){ 

        $(d).find('line').each(function(){ 
         var $line = $(this).find('name').text() 
         var $mex = $(this).find('message').text() 
         $('#status').append($line+'<br>'+$mex+'<br><br>'); 
        }); 
       }); 
      }); 

Die div #status leer zurück. Mein jquery-Code scheint gut zu sein, denn mit einer physischen XML-Datei funktioniert es. Was mache ich falsch?

Vielen Dank im Voraus,

Mauro

Antwort

2

Sie können keine XML-Cross-Domain wie diese holen, werden Sie es JSONP, wenn der Server unterstützt verwenden. XML muss über einen XMLHttpRequest geholt werden, der von same origin policy blockiert wird.

Leider ist es nicht Blick wie die Website JSONP unterstützt, obwohl es regelmäßige JSON unterstützt: http://api.tubeupdates.com/?method=get.status&lines=all&format=json

+0

ok, so Funktioniert es, wenn ich json verwende, um die Daten zu holen? Sorry meine Ignoranz, ich bin ziemlich neu zu diesem :) – Mauro74

+0

@ Mauro74 - nein, es muss JSONP sein, die im Grunde erstellt ein '

0

Entfernen Sie die $ aus dieser Variablen Zeile und fügen:

var line = $(this).find('name').text(); 
var mes = $(this).find('message').text(); 
$('#status').append(line + '<br/>' + mes + <br/>);