加载json结果的速度太慢

时间:2015-10-08 09:39:43

标签: javascript html json

我有一个关于机场装运的网站。

http://vemployee.net/aircargo/

在网站的主页上,有"您要在哪里发货?"用户将搜索原点和部分的部分目的地机场地方。这两个部分都有自动建议功能。

我有一个javascript文件,其中约有46,000个机场列表以json格式提供。自动建议呼叫转到此文件以搜索原始和&目的地机场。

e.g。此文件包含以下格式的记录。 [{" ident":" 00A"," name":" Total Rf Heliport"," iso_country":& #34; US"" iso_region":" US-PA""自治市":" Bensalem的"" iata_code":""" local_code":" 00A"},{" IDENT":" 00AK&#34 ;,"名称":"洛厄尔菲尔德​​"," iso_country":"美国"," iso_region":&# 34; US-AK"," municipality":" Anchor Point"," iata_code":""," local_code":" 00AK"}]

&安培;自动建议代码如下:

var source = $.getValues(SITEROOT+'/airport-code.js');
$(function () {
  $( "#origin_airport").autocomplete({ 
    source: function(request, response){
        var searchTerm = request.term.toLowerCase();
        var ret = [];
        $.each(source, function(i, airportItem){
            if (airportItem.municipality.toLowerCase().indexOf(searchTerm) !== -1 || airportItem.name.toLowerCase().indexOf(searchTerm) === 0 || airportItem.iso_country.toLowerCase().indexOf(searchTerm) === 0 || airportItem.iata_code.toLowerCase().indexOf(searchTerm) === 0 || airportItem.local_code.toLowerCase().indexOf(searchTerm) === 0)
         if(airportItem.type != 'closed')
                ret.push(airportItem.name+' , '+airportItem.municipality+' , '+airportItem.ident);
        });

        response(ret);
    },
    search: function() { $('#originloader').show(); },
    open: function() { $('#originloader').hide(); }
  });

 $( "#destination_airport").autocomplete({
    source: function(request, response){
        var searchTerm = request.term.toLowerCase();
        var ret = [];
        $.each(source, function(i, airportItem){
            if (airportItem.municipality.toLowerCase().indexOf(searchTerm) !== -1 || airportItem.name.toLowerCase().indexOf(searchTerm) === 0 || airportItem.iso_country.toLowerCase().indexOf(searchTerm) === 0 || airportItem.iata_code.toLowerCase().indexOf(searchTerm) === 0 || airportItem.local_code.toLowerCase().indexOf(searchTerm) === 0)

                if(airportItem.type != 'closed')
        ret.push(airportItem.name+' , '+airportItem.municipality+' , '+airportItem.ident);
        });

        response(ret);
    },
    search: function() { $('#dsloader').show(); },
    open: function() { $('#dsloader').hide(); }
  });
});

当我从任何搜索框中搜索任何机场时,它会自动建议列表,然后在我删除所选机场后选择其中一个机场。再次从同一个搜索框搜索另一个机场,然后加载需要太多时间。关于chrome& IE,网站因同样的情况而被绞死。

你能帮我解决一下吗?

0 个答案:

没有答案