2011-12-09 29 views
7

Tamam, nedense getJson çalışmıyor. Bazı stok bilgileri alıyorum ve IE dışındaki tüm önemli tarayıcılarda çalışır.

Burada bir JSfiddle oluşturduk: http://jsfiddle.net/qZhSk/

kimse bana bunu SÜPER yararlı olacaktır yanlış yapıyorum anlamak yardımcı olabilir.

Teşekkürler!

DÜZENLEME Kendimi çözüm bulundu. Sorun, URL sorgumda yapıldı. başkasının burada bu sorunu var cevabı ise: Teknik olarak

var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D'NPO'&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"; 

     $.getJSON(url + "&format=json&callback=?", function(data) { 
     var items = []; 

     $.each(data.query.results.quote, function(key, val) { 

      items.push('<li id="' + key + '">' + val + '</li>'); 
     }); 

     $('<ul/>', { 
      'class': 'my-new-list', 
      html: items.join('') 
     }).appendTo('body'); 
)}; 

cevap

8

, ben bu sefer aynı Kökeni Politikası'nı ihlal düşünüyorum. Tanım olarak, kendi JSON dışında bir etki alanından bir JSON alamazsınız ... ve Yahoo'dan veri almak kesinlikle jsFiddle'ınkinden farklı bir sunucudur. Bir similar issue reported here. var Listenin CORS istisnaları sürüm 10'a kadar IE, sorunu mükemmel bir şekilde açıklıyor.

Sorun "?" Kullanılarak çözülebilir. geri arama işleyicisinde. Daha fazla bilgi için See this stack article.

+1

fark ettim aynen böyle bu. Temel olarak, url dizenizin sonuna bir '& callback =?' Eklemeniz gerekecek ve altınsınız –

+0

Tuhaf olan şey, Firefox'ta çalışmış olmasıdır. * edit * ah - CORS – Pointy

1

Eski bir yazısından bu yana bu cevap diğer arayıcılara yardımcı olabilir.

GetJson'un IE'de çalışmamasının iki nedeni olabilir.

&callback=? or &callback=? 

2.Set ajax yakalamak ekleyerek çözüldü

1.Either JSONP istekleri.

$.ajaxSetup({ cache: false }); 

Hala sorun yaşıyorsanız, platformlar arası API kullanımı nedeniyle olabilir.

+0

Teşekkürler. Benim durumumda, önbellek sorun oldu. –