Ошибка превышения максимального размера стека вызовов при поиске автозаполнения JQuery - PullRequest
0 голосов
/ 06 июля 2019

У меня есть следующий код:

    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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...