JSONP使用AJAX进行内部工作

时间:2015-09-27 14:06:34

标签: javascript json ajax jsonp

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

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

我最好的猜测是:

当在AJAX调用下进行AJAX调用时,{AJ}实际元素在文档中写入了关于AJAX请求必须准确的时刻,因此立即评估其结果

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

感谢

1 个答案:

答案 0 :(得分: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);