因此,我最近学会了如何进行AJAX调用,并知道在使用来自外部服务器的API时需要使用JSONP。正如我从sitepoint了解到的,有人指出,JSONP的不同之处在于它被封装在一个函数中,通过脚本标签可以访问它。将数据归类为JSONP以及如何使用普通的JavaScript获取它?
SitePoint链接:https://www.sitepoint.com/jsonp-examples/ E.g http://run.plnkr.co/plunks/v8xyYN64V4nqCshgjKms/data-2.json
虽然我不明白的是为JSONP Flickr的API。
Flickr API链接JSONP: https://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=? Flickr API链接XML: https://api.flickr.com/services/feeds/photos_public.gne?
它似乎是返回XML数据。更让我困惑的是,这种类型的xml被jQuery的$ .getJSON()所接受,而它在xml中的原始api也会导致相同的原始策略错误。我可以在它们之间找到的主要区别是几个href的变化。
那么是什么让XML的Flickr JSONP,以及如何在普通的JavaScript中使用它的Ajax调用?
任何对此的反馈,将不胜感激:)为清楚起见
更新:
Here I have working code using the flickr XML that does an ajax call with jQuery.
链接:https://jsfiddle.net/Jonathan002/05ao4d87/
我被教导,这只是通过JSONP中成为可能树屋。 https://teamtreehouse.com/library/ajax-basics/ajax-and-apis/displaying-the-photos。如果我没有使用JSONP来完成这项任务,那么我能够绕过同样的原产地政策呢?
*“那么是什么让XML的flickr JSONP ......”*没有,你说的链接的回应JSONP没有。它返回XML。例如,我建议做更多的研究,[阅读JSONP维基百科文章](http://en.wikipedia.org/wiki/JSONP#JSONP)。 –