URL-адрес ajax для jstree на диване (через функцию списка)

У меня есть функция списка CouchDB, возвращающая html для jstree. Я не уверен, что URL-адрес в моей HTML-форме для вызова списка правильный, поскольку jstree не отображается. (с тем же html, вставленным локально, это так). CouchDB работает на локальном хосте.

Расположение моей функции списка стандартное: «имя приложения/приложение/списки/myList.js». Я пробовал несколько комбинаций URL-адресов в строках «/appname/_design/appname/_list/listname/viewname».

Какой должна быть правильная форма?

Спасибо.


person soumya    schedule 07.05.2011    source источник


Ответы (2)


Формат должен быть следующим:

GET /db/_design/design-doc/_list/list-name/view-name

Я скопировал это прямо из Документация CouchOne.

person Dominic Barnes    schedule 07.05.2011
comment
Спасибо, я тщетно пробовал :( Я начинаю задаваться вопросом, может ли это быть какая-то другая проблема. Поскольку тестовый href на странице с URL-адресом _list/list-name/view-name дает мне результирующий html/json в соответствии с к тому, что я возвращаю Когда я даю тот же URL-адрес как часть функции jstree, jstree не загружается. - person soumya; 08.05.2011
comment
Вы упомянули имя приложения вместо db и design-doc ранее, вы уверены, что используете правильное имя в обоих местах? - person Dominic Barnes; 09.05.2011
comment
Я использовал URL-адрес с именем приложения и _design непосредственно в браузере, который затем дал мне ожидаемый результат. Поскольку тот же URL-адрес (с _design/) не работает из href, я попробовал URL-адрес, начинающийся с _list/, он возвращает результат в виде обычного текста. Однако проблема возникает, когда я даю jstree эти URL-адреса (теперь я перепробовал все возможные комбинации: () в качестве настройки ajax. Итак, теперь я пытаюсь получить данные (запрос и data.js), визуализировать их как html ‹ ul›‹li› в соответствии с требованиями jstree, а затем преобразовать его в дерево с помощью функции jstree в after.js Пока безуспешно. - person soumya; 09.05.2011
comment
Вы должны указать точный источник либо вашего дизайна, либо ваших функций _list. Подозреваю, что у вас там что-то не так. - person Dominic Barnes; 09.05.2011
comment
Спасибо! Оказывается, я не понял часть «данные» в следующей функции для jstree. Он добавляет id=0 к URL-адресу списка и, следовательно, не извлекает необходимые данные. Я удалил его на данный момент, и вызов списка работает нормально. $(function () { $("#demo3").jstree({ "html_data" : { "ajax" : { "url" : "_list/listname/viewname?include_docs=true", "data" : function (n) { return { id : n.attr ? n.attr("id") : 0 }; } } }, "plugins" : [ "themes", "html_data" ] }); }); - person soumya; 10.05.2011

ОК, поскольку я не смог найти определенного ответа для рендеринга jstree с динамическими данными с использованием списка CouchDB, я пошел другим путем и использовал функциональность after.js в evently.

Это для тех, кому это может быть полезно. Это то, что сработало для меня,

  • получить данные с помощью data.js
  • отображать его как <ul><li/></ul> в mustache.html
  • в after.js напишите функцию для jstree, как показано в документации jstree для плагина html_data

    (after.js выглядит так function (e) {
    $('.mytree').jstree({ "plugins" : [ "themes", "html_data", "checkbox" ] }); }

person soumya    schedule 09.05.2011