SORU
19 Mart 2011, CUMARTESİ


parsererror bir WordPress kullanmak sonra.ajax jsonp içerik türü ile talep

JQuery Sürüm 1.5.1 aşağıdaki ajax arama yapmak için kullanıyorum:

$.ajax({
    dataType: 'jsonp',
    data: { api_key : apiKey },
    url: "http://de.dawanda.com/api/v1/"   resource   ".json",
    success: function(data) { console.log(data); },
    error: function(jqXHR, textStatus, errorThrown) { console.log(errorThrown); console.log(textStatus); }
});

Sunucu geçerli bir json nesnesi verir:

{
  "response": {
    "type":"category",
    "entries":1,
    "params":{
      "format":"json",
      "api_key":"c9f11509529b219766a3d301d9c988ae9f6f67fb",
      "id":"406",
      "callback":"jQuery15109935275333671539_1300495251986",
      "_":"1300495252693"
    },
    "pages":1,
    "result":{
      "category":{
        "product_count":0,
        "id":406,
        "restful_path":"/categories/406",
        "parent_id":null,
        "name":"Oberteile"
       }
     }
   }
 }

Ama başarı geri arama hiçbir zaman olarak adlandırılır, bunun yerine hata geri arama bu çıktıyı üretir:

jQuery15109935275333671539_1300495251986 was not called
parsererror

Peki neden böyle oluyor?

Hiçbir ek kütüphaneler bir WordPress kullanmak için kullanıyorum.

DÜZENLEME:

Eğer ajax ile arama yapmak için çalışıyorum "eğer" türü yerine "jsonp", sunucu, boş bir dize ile yanıt verir. json

CEVAP
19 Mart 2011, CUMARTESİ


JSONP yanıt geri arama işlevi, bir tür sarılmış olması gerekir.

Yani sunucu ile karşılık vermelidir:

someFn({....});

Bu someFn sunucu okumak ve verileri uygun bir şekilde sarmak için ihtiyaç istek parçası olarak geçti.

Bu başka bir etki alanından içerik çıkaracaksın üstleniyor. Eğer öyleyse, aynı kökenli ilke ile sınırlı konum: http://en.wikipedia.org/wiki/Same_origin_policy

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • SRT Photoshop Tutorials

    SRT Photosho

    19 Aralık 2012
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008