Точка, о которой вы пишете в 1. , может быть из-за:
- Поиск '
In
' должен вернуть много результатов
- Существует определенное ограничение на стороне сервера, чтобы никогда не возвращать больше, чем N результатов
- Что означает, что полный список стран содержит "
In
", неизвестно на стороне клиента
- Это означает, что невозможно получить (точно) список, который соответствует "
Ind
" без другого запроса Ajax.
Половина решения, которое часто используется, состоит в том, чтобы не отправлять запрос Ajax сразу после нажатия клавиши, а только через 100 или 200 миллисекунд после.
Таким образом, если пользователь быстро набирает "Indi
" и ждет, прежде чем набрать что-то еще, будет только 1 запрос Ajax для "Indi
" (и ни для "In
" , "Ind
")