jquery ile jsonp [kapalı]


Yanıtlar:


144

İşte çalışma örneği:

<html><head><title>Twitter 2.0</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head><body>
<div id='tweet-list'></div>
<script type="text/javascript">
$(document).ready(function() {
    var url =  "http://api.twitter.com/1/statuses/user_timeline/codinghorror.json";
    $.getJSON(url + "?callback=?", null, function(tweets) {
        for(i in tweets) {
            tweet = tweets[i];
            $("#tweet-list").append(tweet.text + "<hr />");
        }
    });
});
</script>
</body></html>

?callback=?İstenen URL'nin sonundaki kısmına dikkat edin . Bu, getJSONJSONP'yi kullanmak istediğimiz işlevi gösterir . Kaldırırsanız vanilya JSON isteği kullanılacaktır. Aynı menşe politikası nedeniyle başarısız olacak .

JQuery sitesinde daha fazla bilgi ve örnek bulabilirsiniz: http://api.jquery.com/jQuery.getJSON/


2
Bu jsonp parametreleriyle $ .ajax'ı deniyordum ve işe yaramadı. Her neyse, bu güzel çalışıyor, teşekkürler.
akula1001

2
Gerçekte ?callback=?URL'nin bir parçası olarak mı gönderiliyor yoksa jQuery'nin gördüğü ve URL'yi almadan önce çıkardığı bir tür bayrak mı?
hippietrail

1
URL'niz parametreler gerektiriyorsa ne gereklidir? (örn: ?p=1&s=50)
ONDEV

2
Bunu başlangıç ​​noktası olarak iyi bir referans olarak buldum. Yukarıda cevap vermek gerekirse: Evet, geri arama bir parametre olarak gönderilir ve JSON yanıtının etrafına sarılmış bir işlev olarak geri gönderilmelidir. Bkz stackoverflow.com/questions/7936610/... . Ek parametreler göndermek için, bunlar yukarıdaki örn., GetJSON () 'un ikinci parametresinde gönderilir. null yerine {p: 1, s: 50}
Ecropolis

410 hata kodunu alıyorum - gitti. JSON'u herhangi bir yerde döndüren "sonsuza kadar" mevcut bir hizmet var mı? Sadece kendi yönteminin çalışıp çalışmadığını test etmek için mi?
Konrad Viltersten
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.