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

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

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

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

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


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