Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача большого количества информации с сервера / 11 сообщений из 11, страница 1 из 1
27.11.2007, 23:23
    #34970299
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
С помощью AJAX сделана динамическая подгрузка данных. Речь идет о выпадающих списках страна/штат/город. Выбираем страну - выбирается список штатов (если есть), выбираем штат - выбирается список городов.
Пока была небольшая база (~10 тыс. городов), все работало мгновенно. Но появилась Кепплеровская база, где на США приходится 160 тыс. городов (до 8 тыс. на штат) и подгрузка и парсинг городов оставляет желать лучшего ...
Нет ли возможности оптимизировать этот процесс? - Типа, запаковывать архиватором, а на клиенте распаковывать? Или использовать JSON для быстрого парсинга?
...
Рейтинг: 0 / 0
28.11.2007, 10:03
    #34970752
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Эээ, не понял. Вы что, все данные вытаскиваете сразу, а потом отбираете нужные штаты/города на клиенте?
Даже если нет, зачем заниматься парсингом? Пусть сервер сразу сгенерирует html с нужным набором значений, который останется только подставить в список. Кроме того 8k записей в селекте - слишком дофига. Нужно перед этим заполнением этого селекта выбрать букву алфавита.
...
Рейтинг: 0 / 0
28.11.2007, 13:20
    #34971563
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Естественно, я кидаю выборку для одного штата одной страны.
Если взять штаты, в которых 8000 городов, это получится ~80-100кБт информации + парсинг + цикл формирования списка.
Если сразу формировать структуру на сервере типа "<option value='24876'>NameOfTown", это добавит минимум 22 байта на город, или 170 кБт на запрос. Не многовато ли для для одного выбора данных? - до 300 кБт.
Одно радует - таких выборок немного (Германия 12 тыс, Китай - 10 тыс и пару штатов в США).
...
Рейтинг: 0 / 0
28.11.2007, 13:24
    #34971581
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
И я не могу обязать пользователя сничала нажать букву. Человек выбрал страну/штат, он обязан получить города.
...
Рейтинг: 0 / 0
28.11.2007, 13:35
    #34971625
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Зато вы можете обязать пользователя ковыряться в многотысячном списке? А перед этим курить бамбук, пока он грузится?
...
Рейтинг: 0 / 0
28.11.2007, 22:20
    #34973302
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Ковырятся не могу, поэтому реализован выбор по трем первым буквам - достаточно точное позиционирование.
А вот наставить на путь истинный - как ускорить передачу/вставку - никто не может.
...
Рейтинг: 0 / 0
29.11.2007, 08:00
    #34973650
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Ну так и подгружайте кусок списка по этим трем буквам.
...
Рейтинг: 0 / 0
29.11.2007, 16:21
    #34975619
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
:) Огромное спасибо за совет, но меня интересует оптимизация передачи и вставки данных.
...
Рейтинг: 0 / 0
29.11.2007, 21:32
    #34976542
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
IDVsbruck:) Огромное спасибо за совет, но меня интересует оптимизация передачи и вставки данных.

Ваша задача - классика Ajax. Это то с чего начинался Ajax. По введеным первым буквам - получать с сервера данные по конкретным введенным буквам. В любой книге по Ajax Вы найдете разжеванное решение.

Сразу могу посоветовань не использовать элеименты SELECT-OPTION для реализации списка.
Лучше использовать SPAN-DIV or SPAN-SPAN.
...
Рейтинг: 0 / 0
30.11.2007, 03:13
    #34976777
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
Это интересно. А почему?
...
Рейтинг: 0 / 0
30.11.2007, 19:51
    #34979199
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача большого количества информации с сервера
IDVsbruckЭто интересно. А почему?

Есть два ответа.
Первый (занудный). Стандарт HTML не регламентирует внешний вид СЕЛЕКТ-ОПЦИОНА - только функциональность. Хотя мы привыкли что это combobox. Но вообще-то элемент задумывался как основа для построения меню.

Второй чисто практический.
- В IE до 7 версии SELECT-OPTION всегда показывается на переднем плане вне зависимости от слоя на котором он определен. И спрятать его можно только спец. приемеми (в IFRAME - но это очень некрасиво выглядит).
- В SELECT-е действует встороенный поиск по первому и единственному введенному символу - это бесполезно для богатого интерфейса, но может помешать программируемому поиску.
- SPAN-DIV позволяют получить полный контроль и над внешним видом элементов и над поведением
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача большого количества информации с сервера / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]