我試圖讓我的身邊我怎樣才能使JSON請求存儲從我的jsfiddle服務器上的JSON文件頭。試圖瞭解JSONP與Flickr的例子
HTML:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="images">
</div>
</body>
</html>
的jQuery:
$.getJSON("http://www.shopsheep.com/groupon/json/test.json?jsoncallback=?", function(data) {
$.each(data.items, function(i, item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if (i == 0) {
return false;
}
});
});
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?format=json&jsoncallback=?", function(data) {
$.each(data.items, function(i, item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if (i == 0) return false;
});
});
我下載的閃爍JSON文件,並將其上傳到我的服務器test.json。如果我把它粘貼到瀏覽器中,它就像閃爍文件一樣返回。
然而,當我嘗試顯示圖像只有原來的閃爍例如在工作?任何想法爲什麼這是這種情況?
http://jsfiddle.net/stofke/DJQ5g
好,我已經找到了如何做到這一點。 getJSON函數將一個隨機 命名回調函數名添加到jsoncallback =?像這樣 jQuery160188050875203142_1309437718540&_=1309437718551
爲了這個callbackFunction參數,你當然需要知道這個函數的名字來包裝你的JSON文件,因此,如果您轉換您jsonfile到PHP文件比你可以得到這樣的callbackfunctionname:
<?php echo $_GET["jsoncallback"];?>(
ADD JSON CONTENT HERE
)
這個php文件將通過一個GET變量得到callback函數的名字,並用它包裝json的內容。這樣它工作正常。
對我仍然不清楚。如果您使用Firefox打開鏈接,jsonFlickrFeed的確在那裏,但是Chrome並沒有顯示。 無論我將它添加回調函數返回爲未定義的回調。 – Stofke
好吧我看到與jquery調用我需要動態生成包裝的JSON與jQuery提供的回調函數 – Stofke