Ich habe ein Problem. Ich habe ein Skript erstellt, um eine Anfrage an einen internen Link zu senden, der eine Antwort zurücksendet. Dies ist, was das Skript wie folgt aussieht:jQuery JSON nicht ordnungsgemäß analysieren
jQuery.get(callUrl, function(data){
console.log(typeof data);
jQuery.each(data.items, function(i,item){
console.log(i);
});
},'json');
und die Antwort, dass der Server sieht zurück, wie dies sendet:
{"items":[
{
"src": "gallery_item_data_Jc4EaLP6vlwd_large.jpg",
"id": "83",
"gallery_id": "30",
"username": "admin"
}]
}
Mein Problem ist, wenn ich die „Daten“ seine Art zu analysieren ist immer String. Ich brauche dafür ein Objekt, damit ich es abfragen und mit meinem Skript analysieren kann. Um zum Ende des Problems zu erhalten, habe ich versucht, mein Skript zum Beispiel auf jQuery-Dokumentation Seite zu vergleichen:
http://docs.jquery.com/Ajax/jQuery.getJSON
Die Hauptunterschiede mit der Bitte auf dieser Seite und meine Bitte ist, dass es verwendet die getJSON-Methode. Als ich versucht habe, das mit der URL zu meinem Server zu verwenden, habe ich überhaupt keine Antwort erhalten. Das ist der Hauptgrund, warum ich mich für die Methode get entschieden und den Rückgabetyp als "json" angegeben habe.
Eine andere Sache, die ich ausprobiert: Ich habe die Flickr feed ausgecheckt, die das jQuery-Beispiel verwendet, um den Inhalt-Header zu suchen, der es zurückgeschickt hat, vielleicht mein Feed hatte die falsche Kopfzeile und es ist dies auf dem Flickr-Feed:
Content-Type application/x-javascript; charset=utf-8
Dies ist genau der gleiche Header auf meinem eigenen Feed. Also bin ich verwirrt. Weiß jemand, warum das passiert?
getJSON funktioniert möglicherweise nicht, wenn JSONP auf dem Endpunkt, den er trifft, nicht unterstützt wird. – singpolyma
Das ist wahr singpolyma, Wie mache ich JSONP auf meinem internen Server unterstützt? – picardo
Ich löste es, als ich eval() und umgebendes Rückkehrobjekt mit Parens verwendete. Es funktioniert jetzt auch mit getJSON. Danke Leute! – picardo