使用 JSONP 技术从 Geonames API 加载国家标志
Posted
技术标签:
【中文标题】使用 JSONP 技术从 Geonames API 加载国家标志【英文标题】:Load Country Flag From Geonames API using JSONP technique 【发布时间】:2012-12-18 07:05:17 【问题描述】:这个Request.JSON
http://mootools.net/demos/?demo=Request.JSON以这样的方式使用JSON数据,
var data = "previews":[
"Countrycode":"us", "src":"us.jpg", "description":"desc will be here",
"Countrycode":"uk", "src":"uk.jpg", "description":"desc will be here",
];
在上面的方法中,我们使用Countrycode
& images
,写下我们自己的每张图片的名字。
我正在寻找一种通过http://api.geonames.org/export/geonamesData.js?username=orakzai 使用Geonames
来检索Countrycode
和CountryFlags
通过http://www.geonames.org/flags/x/xx.gif 的方法,其中xx 是2 个字母的ISO 国家/地区代码
【问题讨论】:
【参考方案1】:标志以 GIF 文件的形式返回,而不是任何类型的 JSON。您只需使用
<img id='myImage' src="http://www.geonames.org/flags/x/??.gif" />
但是填写 ??使用 geonames 使用的国家/地区代码。
您可以将标签放在页面中的某个位置并使用一些 javascript 将 URL 更改为您计算的 URL,或者您可以在服务器上计算 URL 并在创建 html 页面时将其插入。
如果您想在 javascript 中执行此操作,例如,在 jQuery 中,您可以使用类似的方法来更改已加载的 id='myImage' 图像标签上的 URL
$("#myImage").attr('src', "http://www.geonames.org/flags/x/" + countryCode + ".gif")
【讨论】:
图片可以,但是如何从api.geonames.org/export/geonamesData.js?username=orakzai获取Countrycode
它是一个脚本,这里是 mootools 页面告诉如何加载脚本:click here 这里是 jQuery [点击这里]api.jquery.com/jQuery.getScript)
如果您使用 Angular,它是带有 countryCode 的 ng-src【参考方案2】:
类似的服务,例如 geonames.org:
var country_code = 'uk',
img_uri = 'https://flagpedia.net/data/flags/normal/' + country_code + '.png';
【讨论】:
除了“uk”不是国家代码。 "gb" 在这种情况下可以工作。以上是关于使用 JSONP 技术从 Geonames API 加载国家标志的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 jQuery AJAX 从使用 OAuth 1.0 身份验证的 Upwork API 请求 JSONP 文件?