【问题标题】:ajax url for jstree on couchdb (via list function)couchdb 上 jstree 的 ajax url(通过列表函数)
【发布时间】:2011-05-07 00:40:45
【问题描述】:

我有一个 CouchDB 列表函数返回 jstree 的 html。我不确定我的 HTML 表单中调用列表的 url 是否正确,因为 jstree 不会呈现。 (在本地粘贴相同的 html 时,确实如此)。 CouchDB 正在本地主机上运行。

我的列表函数的位置是标准的,“appname/app/lists/myList.js”。我尝试了几种 url 组合,在“/appname/_design/appname/_list/listname/viewname”行。

正确的格式应该是什么?

谢谢。

【问题讨论】:

    标签: ajax list couchdb jstree


    【解决方案1】:

    格式应如下:

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

    我直接从CouchOne Documentation复制了这个。

    【讨论】:

    • 谢谢,我试过了,但徒劳无功:(我开始怀疑它是否可能是其他问题。由于页面上的测试href url为“_list/list-name/view- name”根据我返回的内容为我提供了结果 html/json。当我提供与 jstree 函数的一部分相同的 url 时,jstree 不会加载。
    • 您之前提到了“appname”而不是“db”和“design-doc”,您确定在这两个地方都使用了正确的名称吗?
    • 我直接在浏览器上使用了带有 appname 和 _design 的 url,然后返回了预期的结果。由于相同的 url(带有 _design/)在 href 中不起作用,我尝试了以 _list/ 开头的 url,它以纯文本形式返回结果。然而,当我给 jstree 这些 url 提供问题时(现在我已经尝试了所有可能的组合 :( )作为 ajax 设置。所以,现在我正在尝试获取数据(查询和 data.js),将其呈现为 html
    • 按照jstree的要求,然后用after.js中的jstree函数将其转换成一棵树,目前还没有成功。
  • 您应该包含您的设计文档或_list 函数的确切来源。我怀疑你那里有问题。
  • 谢谢!事实证明,我没有弄清楚 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" ] }); });
  • 【解决方案2】:

    好的,因为我找不到使用 CouchDB 列表呈现带有动态数据的 jstree 的明确答案,所以我采取了另一种方式,并在事件中使用了 after.js 功能。

    这适用于任何可能觉得它有用的人。这对我有用,

    • 使用 data.js 获取数据
    • 在 mustache.html 中将其渲染为 <ul><li/></ul>
    • 在after.js中为jstree编写函数如jstree documentation for html_data plugin所示

      (after.js 看起来像这样 function (e) {
      $('.mytree').jstree({ "plugins" : [ "themes", "html_data", "checkbox" ] }); }

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签