次のコードを書きました。
function shareCount(url){
var count;
$.ajax({
type: "GET",
url: "http://api.facebook.com/method/fql.query?query=SELECT+share_count+FROM+link_stat+WHERE+url%3D%22http%3A%2F%2F9gag.com%2Fgag%2F"+encodeURIComponent(url)+"%22",
dataType: "xml",
success: function(xml) {
alert($(xml).find('share_count').text());
return $(xml).find('share_count').text();
}
});
//alert(count);
}
share_count
特定のリンクを取得するために facebook に fql クエリを送信するだけです。リンクは問題alert($(xml).find('share_count').text());
なく動作しますが、カウントを返すと、他の関数は var が未定義であると言います! alert()
最後のスコープのコメントを外すと、同じことが起こります。
これは、この関数にリクエストを送信する他の関数の一部です(関連するかどうかはわかりません)
g.innerHTML = h("#template", {
id: c.images[a].id,
title: c.images[a].title,
image: c.images[a].image.small,
time: c.images[a].time,
votes: c.images[a].votes,
url: c.images[a].url,
shareCount: shareCount(c.images[a].id)
});