AJAX скорость создания выбора - PullRequest
2 голосов
/ 24 ноября 2011

У меня был вопрос здесь Mysql выберите скорость Я полагаю, что выбор MySQL быстро, но

Моя проблема в том, что аякс генерирует огромный выбор городов, например БРАЗИЛИЯ.

Есть ли способ сгенерировать ajax select быстрее? Потому что, если он слишком велик, браузер отстает и ждет загрузки всего содержимого select. Я хочу, чтобы это было более плавным. Кто-нибудь может мне помочь ? (

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

Попробуйте кешировать результат запроса. Это означает, что нужно регулярно выполнять запрос, сохранять результат (например, в другой таблице или в XML-файле), а затем отправлять предварительно кэшированные данные в браузер по запросу.

0 голосов
/ 24 ноября 2011

У вас проблема в сервере или в клиенте? Fiddler или Firebug могут помочь вам узнать, сколько времени было потрачено на обработку на сервере и на передачу клиенту.

Я думаю, вам нужно изменить серверную часть и вернуть небольшие строки, например:

1,Jerusalem|2,Tel Aviv|3,Ariel

На стороне клиента вам нужно разделить на "|" а затем с помощью "," и использовать массив JS для построения HTML:


    //not tested

    var a = string.split("|"),s=[]
    for (var i=0;i"+b[1]+"");
    }

    $("#div").html(s.join(" "));

JSON проще в использовании, но ответ будет увеличиваться и увеличиваться медленно.

0 голосов
/ 24 ноября 2011

Возможно, вы захотите предварительно загрузить все списки в ваш документ и скрыть их с помощью свойства display: none;.Тогда вам не нужно AJAX тянуть содержимое вашего окна выбора.Вместо этого просто покажите необходимый список, если пользователь выбирает конкретную запись и скрывает остальные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...