Как вывести список городов России в select (с поиском) не перегружая страницу? Список получаю по API?
Делаю калькулятор для службы доставки и мне его нужно соединить с другим калькулятором по его api.
Когда дергаю список городов - мне возвращается ответ 11 секунд и весит он 4 Мб (!!!), я его на сервере очищаю от лишних данных, остается 500 Кб, и вставляю список в select. Браузер сильно залипает от такой процедуры.
Я взял очищенный ответ и вставил его тупо в html, без подключения к api, но браузер все равно тупит, так как список слишком большой.
Как мне сделать так, чтобы это работало максимально быстро?
Как вариант
1) города однозначно сохранить себе в базу
2) чтобы не выгружать на клиента
2.1) сделать текстовое поле и при посте на сервере искать в базе городов типа (SELECT ID FROM City WHERE Name = @UserCityName)
2.2) сделать на jQuery подгрузку городов, распространенный контрол ... начните вводить первые буквы города... если букв от 2 - то отдавайте на клиента TOP 10 городов. В бутстрапе вроде есть похожий контрол - typeahead bootstrap. Наверняка в плугинах jQuery есть подобное.
---
+ можно сделать сначала выбор региона, их по ОКАТО, вернее сейчас это называется ОКТМО - их около сотни. Потом город. Городов в России около 1100-1200. С крупными селами ... не знаю.