Хотя заголовок может быть либо слишком конкретным, либо слишком расплывчатым, у меня есть вопрос относительно того, что виджет автозаполнения отправляет моему сервлету, когда он пытается получить объект JSON.Опция источника автозаполнения позволяет мне указать URL, в данном случае мой сервлет, где он ожидает, что будет возвращен объект JSON.К сожалению, документация по автозаполнению пользовательского интерфейса jQuery немного запутала меня:
Когда используется строка, плагин автозаполнения ожидает, что эта строка будет указывать на ресурс URL, который будет возвращать данные JSON.Это может быть на том же хосте или на другом (должен предоставить JSONP).Параметр запроса "term" добавляется к этому URL.
Теперь, означает ли это, что если бы URL моего сервлета был что-то вроде: "MyServlet
", новый URL был бы "MyServlet?term
«?Я отправляю несколько запросов AJAX этому сервлету и обычно расшифровываю, какую процедуру мне следует выполнять с каждым, основываясь на параметре «команда», который я публикую с каждым запросом AJAX.Итак, когда Autocomplete делает запрос к моему сервлету, что именно я проверяю, чтобы узнать, запрашивает ли он именно этот JSON?Для каждого другого запроса я делаю что-то вроде этого:
if(request.getParameter("command").equals("getUsers") {
// Code to handle Getting Users...
} else if(request.getParameter("command").equals("getEvents") {
// Code to handle Getting Events...
} else if(request.getParameter("command").equals("getBugs") {
// Code to handle Getting Bugs...
}
Как проверить, поступает ли запрос от автозаполнения?Могу ли я пометить этот параметр «command» на URL, который я передаю в источник, вроде «MyServlet?command=autocomplete
», чтобы сообщить об этом, или это вообще необходимо?
EDIT : Таким образом, после перечитывания документации фактически звучит так, как будто строка, ссылающаяся на URL-адрес, поскольку источник будет в основном делать запрос к этому источнику каждый раз, когда выполняет поиск, и этот параметр «term»просто несет то, что было в окне поиска, когда это началось.Другими словами, означает ли это, что он не просто загружает JSON из всех возможных терминов, а просто использует его как массив?Скорее, он идет за выборками при каждом поиске?