我允许用户使用keyup javascript函数通过ajax请求搜索他们的Facebook好友。
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 :(得分:0)
每次用户添加角色时,发出新请求并不是一个好主意。您应该使用页面本身一次性加载您的朋友。或者更好的是,您可以在页面完全加载后使用AJAX透明地执行此操作。
然后,您将避免任何慢速请求,因为您已经拥有该用户的朋友。结果立竿见影。为此,我建议您使用jQuery Autocomplete plugin。