所以我用javascript写了这段代码:
// Additional initialization code such as adding Event Listeners goes here
FB.api('593959083958735/albums', function(response) {
if(!response || response.error) {
// render error
alert("Noo!!");
} else {
// render photos
for(i=0; i<response.data.length; i++){
var albumName = response.data[i].name;
var albumCover = response.data[i].cover_photo;
var albumId = response.data[i].id;
console.log(albumName);
FB.api( albumCover, function(response) {
if(!response || response.error) {
// render error
alert("Noo!!");
} else {
// render photos
$("ul").append('<li>'+
'<a href="testFile.HTML" data-transition="slidedown">'+
'<img src= "' + response.picture + '" />'+
'<h2>' + albumName + '</h2>'+
'<p> Test Paragraph</p>'+
'</a>'+
'</li>')
.listview('refresh');
}
});
}
}
});
我正在使用 facebooks javascript API 将 facebook 页面的相册导入到我的 jquery 移动页面并将它们放在 listView 中。如您所见,我动态创建了 listView。listView 将专辑封面照片和标题作为缩略图,专辑名称。
然而,这里有一些可怕的错误。上面代码的结果可以在这里看到
缩略图都是正确的,但专辑名称是错误的。在每个单元格中,我都会得到最后一个专辑名称。如您所见,当我在代码中使用 console.log(albumName) 时,我得到了正确的所有名称。但在对 FB.api 的第二次调用中,该"albumName"
变量仅包含最后一个专辑名称。
知道这里发生了什么吗?它真的让我发疯...