У меня есть следующий код:
var person_names = JSON.parse(document.getElementById('person_names').textContent);
$('#autocomplete_person_names').val('');
var selected_person = null;
$('#autocomplete_person_names').autocomplete({
lookup: person_names,
showNoSuggestionNotice:true,
maxHeight:200,
onSelect: function (suggestion) {
selected_person = suggestion.value;
}
});
По какой-то причине я получаю ошибку uncaught type Maximum call stack size exceeded
в моей консоли.Когда я проверял построчно, я обнаруживал, что ошибка вызвана следующей строкой:
lookup: person_names,
Насколько я выяснил при поиске до сих пор, Maximum call stack size exceeded
из-за рекурсивных функций.Но я не могу понять, какое рекурсивное поведение здесь приводит lookup
.И если он имеет рекурсивное поведение (что, кажется, так и есть), как я могу разрешить его, чтобы не получить эту ошибку?Ошибка препятствует запуску остальных кодов jquery, что вызывает беспокойство.
Другое дело: переменная person_names
дает массив и работает нормально.И я использую это внутри html template
внутри Django
проекта.
Полная ошибка в консоли выглядит следующим образом:
Uncaught RangeError: Maximum call stack size exceeded
at Function.map (jquery-3.3.1.js:462)
at b.verifySuggestionsFormat (jquery.autocomplete.min.js:8)
at b.setOptions (jquery.autocomplete.min.js:8)
at new b (jquery.autocomplete.min.js:8)
at HTMLInputElement.<anonymous> (jquery.autocomplete.min.js:8)
at Function.each (jquery-3.3.1.js:354)
at jQuery.fn.init.each (jquery-3.3.1.js:189)
at jQuery.fn.init.a.fn.devbridgeAutocomplete (jquery.autocomplete.min.js:8)
at HTMLDocument.<anonymous> ((index):3734)
at c (jquery.min.js:4)