У меня есть этот код автозаполнения jqueryUI:
.autocomplete({
source: function( request, response ) {
var results = $.getJSON( url, {
term: extractLast( request.term )
}, response );
console.log(results);
},...
Журнал console.log для var 'results' выглядит так:
Мне нужно извлечь поле ответа или responseText, чтобы проверить, является ли оно пустым, и всплывающее сообщение об ошибке без найденных совпадений. Но ничего не работает, чтобы получить это поле:
results.response
results.getResponse()
results.getResponseHeader()
Ни один из этих методов не работает. Спасибо
Оба ответа работают: он правильно возвращает мой ответ. Я могу проверить это... но это сломает автозаполнение. Я все еще изучаю это.
Третий вариант, обратный вызов, обеспечивает наибольшую гибкость и может использоваться для подключения любого источника данных к автозаполнению. Обратный вызов получает два аргумента:
Объект запроса с одним свойством, называемым термином, которое ссылается на значение, которое в данный момент находится в текстовом вводе. Например, когда пользователь ввел новый йо в поле города, термин автозаполнения будет равен новому йо.
Обратный вызов ответа, который ожидает, что один аргумент будет содержать данные, предлагаемые пользователю. Эти данные должны быть отфильтрованы на основе предоставленного термина и могут быть в любом из форматов, описанных выше для простых локальных данных (массив строк или массив объектов с меткой/значением/оба свойства). Это важно при предоставлении пользовательского обратного вызова источника для обработки ошибок во время запроса. Вы должны всегда вызывать обратный вызов ответа, даже если вы столкнулись с ошибкой. Это гарантирует, что виджет всегда имеет правильное состояние.
Это документация автозаполнения пользовательского интерфейса jquery об источнике с помощью функции обратного вызова. Не могу понять, почему новая версия не работает