В документации jQuery приведен следующий пример использования $ .getJSON для запроса JSONP:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data) {
$.each(data.items, function(i,item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if (i == 3) return false;
});
});
Вместо использования этого метода, который генерирует имя функции динамического обратного вызова из-за этого параметра:
jsoncallback=?
Я хочу иметь возможность заранее установить это имя в жестко закодированном виде, например:
jsoncallback=test
Это работает в том смысле, что я запускаю сценарий, а возвращаемый JSONP имеет объект JSON, заключенный в вызов метода test ().
Однако я не могу понять, как настроить функцию обратного вызова. Разве это не должно быть так просто?
function test(data) {
console.log(data);
}
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=test");
Когда я пытаюсь это сделать, я возвращаю JSONP, который обернут в test (), но определенная мной функция test () никогда не вызывается. Я что-то упустил?
Спасибо за любую помощь!