Jquery 从flickr api响应创建img链接
我需要从flickr的标题和响应创建链接获得第一张图片。但我找不到照片元素,也不知道为什么。我的代码:Jquery 从flickr api响应创建img链接,jquery,flickr,Jquery,Flickr,我需要从flickr的标题和响应创建链接获得第一张图片。但我找不到照片元素,也不知道为什么。我的代码: var options = { "api_key": API-KEY, "method": "flickr.photos.search", "accuracy": "11", "content_type": "1", "format": "xmlrpc", "per_page": "1", "text": TITLE } var makeFlickrReques
var options = {
"api_key": API-KEY,
"method": "flickr.photos.search",
"accuracy": "11",
"content_type": "1",
"format": "xmlrpc",
"per_page": "1",
"text": TITLE
}
var makeFlickrRequest = function(options, cb) {
var url, item, first;
url = "http://api.flickr.com/services/rest/";
first = true;
$.each(options, function(key, value) {
url += (first ? "?" : "&") + key + "=" + value;
first = false;
});
$.get(url, function(data) {
$(data).find('photo').each(function(){
cb($(this));
});
});
};
当我将代码更改为时,唯一能得到的是字符串元素中的文本
$(data).find('string').each(function(){
cb($(this).text());
});
但我更希望使用元素属性,比如解析文本,比如:
<photos page="1" pages="222177" perpage="1" total="222177">
<photo id="9494235388" owner="16159287@N02" secret="f5dbd3b43a" server="7443" farm="8" title="2013 River Cruise Day 13 Bratislava" ispublic="1" isfriend="0" isfamily="0" />
</photos>
Api响应:
<methodResponse><params><param><value><string>
<photos page="1" pages="222189" perpage="1" total="222189">
<photo id="9494235388" owner="16159287@N02" secret="f5dbd3b43a" server="7443" farm="8" title="2013 River Cruise Day 13 Bratislava" ispublic="1" isfriend="0" isfamily="0" />
</photos>
</string></value></param></params></methodResponse>
afaik您可以将
格式
选项更改为“json”
var选项={
“api_密钥”:api-key,
“方法”:“flickr.photos.search”,
“准确性”:“11”,
“内容类型”:“1”,
“格式”:“json”,//afaik您可以将格式
选项更改为“json”
var选项={
“api_密钥”:api-key,
“方法”:“flickr.photos.search”,
“准确性”:“11”,
“内容类型”:“1”,
“格式”:“json”,//你能发布一个api示例响应吗?我在一个问题中添加了它。你能发布一个api示例响应吗?我在一个问题中添加了它。
var options = {
"api_key": API-KEY,
"method": "flickr.photos.search",
"accuracy": "11",
"content_type": "1",
"format": "json", //<--- JSON format
"per_page": "1",
"text": TITLE
}
$.get(url, function(data) {
$.each(data.photos, function(){
console.log(this); //<-- your photo object
});
});