|
|
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
С помощью AJAX сделана динамическая подгрузка данных. Речь идет о выпадающих списках страна/штат/город. Выбираем страну - выбирается список штатов (если есть), выбираем штат - выбирается список городов. Пока была небольшая база (~10 тыс. городов), все работало мгновенно. Но появилась Кепплеровская база, где на США приходится 160 тыс. городов (до 8 тыс. на штат) и подгрузка и парсинг городов оставляет желать лучшего ... Нет ли возможности оптимизировать этот процесс? - Типа, запаковывать архиватором, а на клиенте распаковывать? Или использовать JSON для быстрого парсинга? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2007, 23:23 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Эээ, не понял. Вы что, все данные вытаскиваете сразу, а потом отбираете нужные штаты/города на клиенте? Даже если нет, зачем заниматься парсингом? Пусть сервер сразу сгенерирует html с нужным набором значений, который останется только подставить в список. Кроме того 8k записей в селекте - слишком дофига. Нужно перед этим заполнением этого селекта выбрать букву алфавита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 10:03 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Естественно, я кидаю выборку для одного штата одной страны. Если взять штаты, в которых 8000 городов, это получится ~80-100кБт информации + парсинг + цикл формирования списка. Если сразу формировать структуру на сервере типа "<option value='24876'>NameOfTown", это добавит минимум 22 байта на город, или 170 кБт на запрос. Не многовато ли для для одного выбора данных? - до 300 кБт. Одно радует - таких выборок немного (Германия 12 тыс, Китай - 10 тыс и пару штатов в США). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 13:20 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
И я не могу обязать пользователя сничала нажать букву. Человек выбрал страну/штат, он обязан получить города. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 13:24 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Зато вы можете обязать пользователя ковыряться в многотысячном списке? А перед этим курить бамбук, пока он грузится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 13:35 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Ковырятся не могу, поэтому реализован выбор по трем первым буквам - достаточно точное позиционирование. А вот наставить на путь истинный - как ускорить передачу/вставку - никто не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 22:20 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Ну так и подгружайте кусок списка по этим трем буквам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2007, 08:00 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
:) Огромное спасибо за совет, но меня интересует оптимизация передачи и вставки данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2007, 16:21 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
IDVsbruck:) Огромное спасибо за совет, но меня интересует оптимизация передачи и вставки данных. Ваша задача - классика Ajax. Это то с чего начинался Ajax. По введеным первым буквам - получать с сервера данные по конкретным введенным буквам. В любой книге по Ajax Вы найдете разжеванное решение. Сразу могу посоветовань не использовать элеименты SELECT-OPTION для реализации списка. Лучше использовать SPAN-DIV or SPAN-SPAN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2007, 21:32 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
Это интересно. А почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 03:13 |
|
||
|
Передача большого количества информации с сервера
|
|||
|---|---|---|---|
|
#18+
IDVsbruckЭто интересно. А почему? Есть два ответа. Первый (занудный). Стандарт HTML не регламентирует внешний вид СЕЛЕКТ-ОПЦИОНА - только функциональность. Хотя мы привыкли что это combobox. Но вообще-то элемент задумывался как основа для построения меню. Второй чисто практический. - В IE до 7 версии SELECT-OPTION всегда показывается на переднем плане вне зависимости от слоя на котором он определен. И спрятать его можно только спец. приемеми (в IFRAME - но это очень некрасиво выглядит). - В SELECT-е действует встороенный поиск по первому и единственному введенному символу - это бесполезно для богатого интерфейса, но может помешать программируемому поиску. - SPAN-DIV позволяют получить полный контроль и над внешним видом элементов и над поведением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 19:51 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=34973302&tid=1457275]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 505ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...