2012-06-01 17 views
15

Jquery UI autoload, remote-jsonp.html dosyasını arıyorum. ... Benim konsolunda herhangi isteği göremiyorum .. Bu ajax fonksiyondur ama konsolu açınDataType jsonp ve JSON arasındaki fark

dataType arasındaki fark nedir; "jsonp" ve dataType; "JSON"

$("#city").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: "http://ws.geonames.org/searchJSON", 
       dataType: "jsonp", 
       data: { 
        featureClass: "P", 
        style: "full", 
        maxRows: 12, 
        name_startsWith: request.term 
       }, 
       success: function(data) { 
        response($.map(data.geonames, function(item) { 
         return { 
          label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, 
          value: item.name 
         } 
        })); 
       } 
      }); 
     }, 

aynı etki alanı aynı kökenli isteği için farklı bir alan ve dataType: json talebi demektir alanlar arası talep içinhttp://jqueryui.com/demos/autocomplete/remote-jsonp.html

cevap

26

dataType: jsonp referans.

JSONP kullanarak bir JSON bloğunda yüklenir. Fazladan bir "? Callback =?" geri bildirimi belirtmek için URL'nizin sonuna. Önbellek seçeneği true değerine ayarlanmadıkça, URL'ye sorgu dizesi parametresi "_ = [TIMESTAMP]" ekleyerek önbelleğe almayı devre dışı bırakır.

yaklaşık same origin policy

daha yaklaşık jQuery AJAX

+0

Çapraz tarayıcı veya çapraz etki alanı? : s –

+1

@Joy Kesinlikle çapraz etki alanı. –

+0

@Joy – thecodeparadox

7

eğer aradığınız buysa sen bir ajax isteği görmemeli JSONP ile oku okuyun. Bununla birlikte, kaynak için bir istek görmeniz gerekir çünkü JSONP, farklı etki alanlarındaki verileri çekmek için etki alanları arası çağrılar için kullanılır.

Bir işlev adına sarılmış JSON verilerinizi döndürür. jQuery, sahne arkasındaki işlev adını işler ve verileri başarı işleyicinize aktarır. Veriler, çağrılan hizmete işaret eden ve ardından tarayıcının DOM'sine eklenen src özniteliğiyle dinamik olarak bir komut dosyası öğesi oluşturarak yüklenir. Ardından, tarayıcı kaynağa bir istek yapar ve web servisi geri arama işlevi ve verileri ile yanıt verir.