@ewars

Как вывести список городов России в select (с поиском) не перегружая страницу? Список получаю по API?

Делаю калькулятор для службы доставки и мне его нужно соединить с другим калькулятором по его api.
Когда дергаю список городов - мне возвращается ответ 11 секунд и весит он 4 Мб (!!!), я его на сервере очищаю от лишних данных, остается 500 Кб, и вставляю список в select. Браузер сильно залипает от такой процедуры.

Я взял очищенный ответ и вставил его тупо в html, без подключения к api, но браузер все равно тупит, так как список слишком большой.

Как мне сделать так, чтобы это работало максимально быстро?
  • Вопрос задан
  • 3309 просмотров
Решения вопроса 1
@timda
asp.net веб-разработчик
Как вариант
1) города однозначно сохранить себе в базу
2) чтобы не выгружать на клиента
2.1) сделать текстовое поле и при посте на сервере искать в базе городов типа (SELECT ID FROM City WHERE Name = @UserCityName)
2.2) сделать на jQuery подгрузку городов, распространенный контрол ... начните вводить первые буквы города... если букв от 2 - то отдавайте на клиента TOP 10 городов. В бутстрапе вроде есть похожий контрол - typeahead bootstrap. Наверняка в плугинах jQuery есть подобное.
---
+ можно сделать сначала выбор региона, их по ОКАТО, вернее сейчас это называется ОКТМО - их около сотни. Потом город. Городов в России около 1100-1200. С крупными селами ... не знаю.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
riot26
@riot26
<:З )~~
Сохранить города себе в БД и не дёргать АПИ каждый раз.
Ответ написан
Комментировать
rim89
@rim89
программист-велосипедист
У СДЭК реализовано через автокомплид
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы