Я пытаюсь понять, как сделать запрос json на файл json, сохраненный на моем сервере из jsfiddle.
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
Чтобы обернуть ваш json-файл этой функцией обратного вызова, вам, конечно, нужно знать имя этой функции, поэтому, если вы преобразуете свой jsonfile в php-файл, вы можете получить имя обратного вызова-функции, например:
<?php echo $_GET["jsoncallback"];?>(
ADD JSON CONTENT HERE
)
Этот php-файл получает имя функции обратного вызова через переменную GET и переносит в нее содержимое json.Таким образом, он работает нормально.