2013-08-22 83 views
0

这里的代码是http://api.jquery.com/jQuery.getJSON/,我想将其转换为Dojo的JSONP。你如何制作出相同的输出?将jQuery.getJSON示例代码转换为Dojo JSONP

<script> 
(function() { 
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?"; 
    $.getJSON(flickerAPI, { 
    tags: "mount rainier", 
    tagmode: "any", 
    format: "json" 
    }) 
    .done(function(data) { 
     $.each(data.items, function(i, item) { 
      $("<img/>").attr("src", item.media.m).appendTo("#images"); 
      if (i === 3) { 
       return false; 
      } 
     }); 
    }); 
})(); 

回答

1

道场处理通过dojo/request/script模块JSONP请求。 使用此模块,您的代码变为:

<script> 
    require([ 
     "dojo/request/script", 
     "dojo/_base/array", 
     "dojo/dom-construct", 
     "dojo/ready" 
    ], function(script, array, domConstruct, ready){ 
     ready(function(){ 
      var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne"; 
      script.get(flickerAPI, { 
       jsonp: "jsoncallback", 
       query:{ 
        tags: "mount rainier", 
        tagmode: "any", 
        format: "json" 
       } 
      }).then(function(data){ 
       array.forEach(data.items, function(item){ 
        domConstruct.create("img", {src: item.media.m}, "images"); 
       }); 
      }); 
     }); 
    }); 
</script>