Jquery Autocomplete太慢了

时间:2012-07-02 11:20:43

标签: php jquery mysql

我已经编写了这段代码,如果用户使用类似查询从数据库中获取邮政编码或城市名称,那么问题是我有大约1260条记录,其中两条字段是城市,另一条是邮政编码

        SELECT code, area FROM post_codes WHERE code LIKE '$q%' or area LIKE '$q%'  ORDER BY area LIMIT 4

我已经阅读了许多用户发布的问题并在线研究过,但没有任何工作使用查询延迟。我甚至索引这些字段在数据库中...它的记录太慢,这是第一个问题,现在我的第二个问题是,当用户在该文本字段中进行搜索时,他按Tab键可以绕过搜索并写入他想要的任何无效代码,如何限制这是我的代码供参考。

      $("#Postcode").autocomplete("get_codes2.php", {


        width: 260,
 queryDelay:0, 

   dataType: 'json',
   parse: function(data) {
            var array = new Array();
            for(var i=0;i<data.length;i++)
            {

            array[array.length] = { data: data[i], value: data[i].areacode, result: data[i].areacode};

            }
            return array;
    }, 

    formatItem: function(row) {                     





    return row.areacode;
    }






}).result(function (){

1 个答案:

答案 0 :(得分:1)

我认为Drupal's API search有一个非常好的方法来解决这个问题。他们让每个增量搜索都在后端的替代方法是提供一个大的JSON file,用于在客户端自动完成。

在他们的实现中,他们正在监听搜索输入的焦点事件,仅在实际需要时才获取JSON。