2015-09-27 29 views
-1

据我所知,JSONP背后的关键概念是<script>标签
是绕过javascript相同的原始策略的唯一元素。 因此,使用这些标签我们可以加载伪装成js代码的第三方数据。JSONP与AJAX的内部工作

我不太明白JSONP如何与AJAX结合使用。

我最好的猜测是:

当AJAX调用的抽油烟机一<script> tag元素是实际上书面文件中的确切时刻AJAX请求已被制成,因此它的结果是下发立即评估。

你能帮助我,这些也提供一个简单的例子吗?

感谢

+0

我不认为我的问题是重复的。在这个问题上,你没有提到AJAX。 – GionJh

回答

0

它的工作原理正是你认为应该的方式:

JSONP via XHR

它增加了一个异步script标签进入head,并立即调用回调函数后删除。


更新

只有告知,我用的是JSONP Flickr的API在上面的例子:

setTimeout(function() { 
    $.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?', { 
     tags: 'jquery', 
     tagmode: 'any', 
     format: 'json' 
    }, 
    function(data) { 
     $.each(data.items, function(i, item) { 
     $('<img />').attr('src', item.media.m).appendTo('#images'); 
     }); 
    }); 
}, 2000);