2013-01-04 228 views
1

我允許用戶通過帶有ke​​yup javascript功能的ajax請求搜索他們的facebook朋友。搜索朋友FQL很慢

ajax請求調用一個php動作,該動作使用fql來搜索用戶朋友並輸出10個朋友。 這個ajax請求平均需要5秒鐘,所以對於有人打字不夠快,有什麼方法可以讓我的代碼更快或使其更高效?

$params = array("method"=> "fql.query", "query"=> "SELECT uid, name, pic FROM user WHERE strpos(lower(first_name), '$data') >= 0 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY first_name LIMIT 10 ", "callback"=> ""); 

$friends = $facebook->api($params); 
$this->view->friends = $friends; 

其中$ data包含要搜索的名稱。 然後我以html格式輸出這個視圖。有任何想法嗎?

回答

0

這不是一個好主意,每次用戶添加一個字符時都會發出新的請求。你應該一次加載你的朋友與頁面本身。或者更好的,你可以在頁面完全加載後透明地使用AJAX。

您將避免任何緩慢的請求,因爲您已經獲得了用戶的朋友。結果是立竿見影的。爲此,我建議您使用jQuery Autocomplete plugin