Bir sorunum var. Bir yanıt gönderen bir iç bağlantıya istekte bulunmak için bir komut dosyası oluşturdum.jQuery düzgün JSON ayrıştırma değil
jQuery.get(callUrl, function(data){
console.log(typeof data);
jQuery.each(data.items, function(i,item){
console.log(i);
});
},'json');
ve sunucu gibi görünür geri gönderdiği yanıt:: Bu komut dosyası neye benzediği
{"items":[
{
"src": "gallery_item_data_Jc4EaLP6vlwd_large.jpg",
"id": "83",
"gallery_id": "30",
"username": "admin"
}]
}
Sorunum "veri" ayrıştırmak zaman onun türü her zaman dizedir olduğunu. Bir nesne olması için ona ihtiyacım var, böylece onu sorgulayabilir ve senaryomla ayrıştırabilirim.
http://docs.jquery.com/Ajax/jQuery.getJSON
bu sayfada isteği ve benim isteği ile ana farklar kullandığı olmasıdır: sorunun altına almak için, ben jQuery'nin dokümanları sayfasındaki örneğe Senaryomu karşılaştıran denedim getJSON yöntemi. Bunu sunucumun url'si ile kullanmaya çalıştığımda hiç yanıt almadım, bu nedenle get yöntemi için tercih ettiğim ana neden ve dönüş türünü "json" olarak belirtmek.
Denediğim başka bir şey de: jQuery örneğinin, geri gönderdiği İçerik türü üstbilgisini aramak için kullandığı Flickr feed numarasını inceledim, belki de beslememin yanlış üstbilgiye sahip olduğunu düşündüm ve bu Flickr beslemesinde:
Content-Type application/x-javascript; charset=utf-8
Bu, tam olarak kendi beslememde aynı üstbilgidir. Bu yüzden şaşkınım. Bunun neden olduğunu bilen var mı?
getJSON, JSONP vurmak istediği uç noktada desteklenmiyorsa çalışmayabilir. – singpolyma
Bu doğru singpolyma, İç sunucumda JSONP'yi nasıl destekleyebilirim? – picardo
Değerlendirmeyi eval() ve çevredeki döndürme nesnesini parens ile kullandığımda çözdüm. Şimdi getJSON ile çalışıyor. Teşekkürler beyler! – picardo