2013-01-04 262 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