Как изменить поиск Jstree на поиск AJAX

Я пытаюсь превратить свой поиск по Jstree в поиск AJAX со следующей конфигурацией, моя проблема заключается в том, что, хотя он отправляет "str" на URL, и я получаю данные в виде json ["#id"], но jstree по-прежнему делает свой нормальный поиск

// $.jstree.defaults.search.ajax = true;

$('#node_tree').jstree({
        'core' : {
        'data': fill_tree(),
    },
    "plugins": ["search", "state","themes"],
    'search': {
        'show_only_matches': true,
        'ajax': {
            'url': '/device/jstree',
            'dataType': 'json',
            'type': 'GET'
    }

Мой ajax уже работает, и мне нужен jstree, чтобы показать мой жестко запрограммированный результат вместо поиска по умолчанию.

3 ответа

Решение

Просто справка для тех, у кого такая же проблема, хотя jstree правильно отправлял вызов ajax, он показывал собственный результат, а не мой, и я не мог найти способ изменить это. Так что я ушел в отставку, чтобы вернуть совершенно новые данные JSON и:

$('#tree').jstree(true).settings.core.data = newJsonData;
$('#tree').jstree(true).refresh();

Я знаю, что это был не самый лучший вариант, но на данный момент он добился цели.

Включите поиск Ajax в JSTree Config.

$.jstree.defaults.search.ajax = true

Обратитесь к этому для получения дополнительной информации из этих ответов:
/questions/46556114/jstree-asinhronnyij-poisk-zapusk-zagruzki-novyih-uzlov/46556132#46556132
/questions/34444754/jstree-poisk-s-ajaxjson-ne-vyizyivaet-url/34444764#34444764
/questions/45710626/jstree-ajax-poisk-s-nekotoryimi-dochernimi-uzlami/45710641#45710641

Добавьте функцию данных к вашему Ajax.

'data' : function(str) {
  return { "search_str" : str };
},

Я столкнулся с той же проблемой в jstree, и у меня работала конфигурация ниже.

  1. Вызовите функцию поиска с указанными ниже параметрами. # будучи корневым узлом. ( Ссылка)

    $('#tree').jstree(true).search(v, false, true, '#');
    
  2. Вызов ajax для поиска должен возвращать только родительские узлы найденного потомка. Если результатом поиска является child1, child2, то поисковый ajax должен возвращать только соответствующего родителя в формате json

    ["parent1", "parent2"]
    
Другие вопросы по тегам