У меня есть поле формы предварительного просмотра, которое ищет записи о людях на основе полей имени и фамилии. Поля публикуются с помощью Jquery, а список лиц возвращается в виде JSON, а результаты отображаются в виде таблицы. Запрос на отправку отправляется для каждого события keyup. Но у меня проблема с этим.
Допустим, пользователь ввел 'a' в поле имени. Запрос подается как ajax call. Затем пользователь вводит «b» в поле. Теперь запрос снова отправляется с именем ab в качестве имени. Проблема в том, что у 'ab' меньше результатов, поэтому результаты отображаются мгновенно. Поскольку у «а» больше результатов, требуется некоторое время для обработки и построения таблицы результатов, и как только это будет сделано, она заменит существующую таблицу на «ab». Это не то поведение, которое мне нужно, так как «а» был первым запросом, а «ab» - последним, его нельзя смещать. Так как я могу предотвратить результаты от старого запроса, смещающего новые результаты. Заранее спасибо!
--- Update ---
метод контроллера это что-то вроде ..
public @ResponseBody List<PSPerson> getPersonsWithNames(
@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName)
{
Map<String, String> attrMap = new HashMap<String, String>();
attrMap.put("firstName", firstName);
attrMap.put("lastName", lastName);
return personService.getPeople(attrMap);
}