2011-01-04 19 views
0

Mit der Funktion $ .ajax von jquery kann ich die Ergebnisse nicht analysieren. Zum Beispiel habe ich es so verwendetWie bekomme ich die Benutzerinformationen eines Twitter-Benutzers mit Javascript?

$.ajax({ 

    url : "http://api.twitter.com/1/users/show.json?screen_name=techcrunch", 
    dataType : "json", 
    success : function(data) 
    { 
     // parse the JSON here 
    }, 
    error : function() 
    { 
     alert("Failure!"); 
    }, 

}); 

Dies funktioniert nicht. Brauche ich eine Rückruffunktion?

+0

Bitte definieren "nicht funktioniert". Welches Ergebnis erhalten Sie und welches Ergebnis erwarten Sie? –

+0

Entschuldigung, hätte klarer sein müssen. Wenn ich die URL einfach im Browser http://api.twitter.com/1/users/show.json?screen_name=techcrunch ausführe, bekomme ich die JSON-Daten zurück. Aber mit dem obigen Code bekomme ich keine Daten zurück - Firebug zeigt nichts in der Antwort. Ich bin mir nicht sicher, was ich falsch mache. –

Antwort

1

Wie bereits erwähnt, ist dies auf die gleiche Ursprungsrichtlinie zurückzuführen. Um dies zu umgehen, sollten Sie Ihren Datentyp auf jsonp setzen.

$.ajax({ 

    url : "http://api.twitter.com/1/users/show.json?screen_name=techcrunch", 
    dataType : "jsonp", 
    success : function(data) 
    { 
     console.log(data); 
    }, 
    error : function() 
    { 
     alert("Failure!"); 
    }, 

}); 

Beispiel: http://jsfiddle.net/jonathon/bpnbj/

+0

Super, das hat funktioniert. Ich wusste nicht, was JSONP ist, danke. –

+0

Dies wird nicht die Fehlersituation behandeln, wenn ein Fehler auftritt. jquery kann jsonp Fehlersituation nicht behandeln, es versteckt es einfach !! Sehen Sie die folgende Geige - http://jsfiddle.net/zrvPy – cherit

Verwandte Themen