У меня есть следующая функция jquery автозаполнения в моем приложении (https://github.com/devbridge/jQuery-Autocomplete)
Однако это очень медленно - рендеринг занимает почти 4 секунды. У меня установлена панель отладки, и на временной шкале показано, что загрузка занимает почти 3 с, приложение - 1 с, а фактический запрос к базе данных - 44 мс.
Это моя реализация jquery с автозаполнением:
window.locationAutoCompleteSettings = {
serviceUrl: "/location-lookup",
minChars: 2,
paramName: "term",
showNoSuggestionNotice: false,
onSearchStart: function (query) {
$(this).closest(".js-clear-input").find(".js-clear-input-trigger").addClass("clear-input-spinner")
},
onSearchComplete: function (query) {
$(this).closest(".js-clear-input").find(".js-clear-input-trigger").removeClass("clear-input-spinner")
},
transformResult: function (response) {
var data = JSON.parse(response);
return {
suggestions: $.map(data, function (item) {
return {
value: item.name,
data: item.id
}
})
};
},
onSelect: function (suggestion) {
var e = $(this).closest(".js-lookup-container").find(".js-location-id");
e.val(suggestion.data);
var f = suggestion.value, b = $(".js-location-description");
if (b.length && b.val() == "") {
b.val(f).trigger("change")
}
}
};
$(".js-location-lookup").autocomplete(window.locationAutoCompleteSettings);
Это мой метод управления:
public function locationLookup(Request $request)
{
$term = $request->input('term');
$locations = $this->locationRepository->getByName($term)->get();
return response()->json($locations);
}
Для справки, я запускаю это на Homestead с php 7.4 на машине windows 10
Любые идеи, как я могу это настроить потому что в его нынешнем виде это не очень удобно?