これはコードよりもタイミングが遅いので、実際はJSONレスポンスを取得する最良の方法に関するアドバイスを探しています。JqueryのJSON AJAXレスポンスのタイミング
このコードでは、特定のアイデア(idea_id)に関するコメントを得るためにこのコードを使用しています。コメントにはユーザーID(Facebook)のみが保持されます。すべてのデータが戻ってくると、成功は何らかの順序で画面に印刷する準備ができたデータをソートします。
成功の一環として、各コメントの下に著者情報の一部として日付、時間、FB画像と名前があります。
日時は動作します。グラフを使用した画像は機能しますが、名前はウィンドウの読み込みに少し遅れていますので、それを呼び出せないので、定義されていない状態に戻り、名前がポップアップします。私はAjaxがこれを行うことを意図していると理解しています。
これをラウンドするにはどうすればよいでしょうか。
ありがとうございます。
アンドリュー
EDIT
私も以下の提案で、この作業を行うことができませんでした。
EDIT AGAINちょうどbfの新しいアップデートバージョンが下記のように表示されます。また働いただろう。しかし、私はこの1つの機能に一日を費やして遊んでいないことを敢行しています。
FB.apiが出現するとすぐに、私はその側から値を得ることができませんでした。そこで私は別のアプローチをとった。今
$gc_result = mysql_query($gc_query);
while ($result = mysql_fetch_array($gc_result)) {
$jsonURL = "https://graph.facebook.com/" . $result['user_id'] . "/";
$json = json_decode(file_get_contents($jsonURL), true);
$result["name"] = $json['name'];
$data[] = $result;
}
echo json_encode($data);
次のよう
むしろAJAXよりも、私は、JSONはその照会次に、uidとを含む、データを取得し、PHP側からクエリを使用し、(は、mysql_fetch_array)アレイの上にボルトで固定しました私はその後、次の操作を行うとjQuery以内にそれを呼び出すことができる、ということがあります。
for(var i = 0; i < len; i++) {
var pic = '<img src="https://graph.facebook.com/' + result[i].user_id + '/picture?type=small" align="middle" />';
html = '<p>' + result[i].comment + '<br><hr>Date Added: ' + result[i].date + ' by ' + pic + ' ' + **result[i]['name']** + '<br><hr><hr></p>';
$('#comms').append(html);
}
このすべてが素晴らしい作品、と私はプログラミングのjQueryへの完全な初心者ですし、FacebookのAPIとJSONを使用して、それでも私は後ろに座りますこのソリューションにかなり感心しています。私が逃げ出す前に、これ、パフォーマンス、またはセキュリティの賢明な潜在的な欠陥はありますか?
アドバンスでもう一度おねがいします。
アンドリュー
私はFB.apiを使用して以来、しばらくしていますが、私はそうであることを思い出しています。私は95%が非同期であることを確信しています – Stephen
FB.apiの終了タグを移動すると、結果に未定義のエラーが発生していますか? –
奇妙なことに、アクセス可能でなければなりません。 'FB.api'を呼び出す直前にエイリアスを定義してみてください:' var currentResult = result [i] '、それをコールバックの中で使います。 – bfavaretto