Dynatree从外部数据初始化不工作



第一次Stack Overflow:-)。我一直使用Leo outline主要是为了组织我的任务和写作,它很好地让我在复杂的主题上理清思路,但我不能轻易地与别人分享我的思路,因为他们不使用Leo。我做了一个小的导出脚本从Leo到Dynatree只是作为一个测试,它工作得很好,所以我认为是时候创建一个web大纲,使用web2py + Dynatree。问题是,dynatree只适用于脚本内部的静态数据,但尝试使用这样的代码:

<script type="text/javascript">
$(function(){
    $("#tree").dynatree({
         // In real life we would call a URL on the server like this:
             //          initAjax: {
             //              url: "/getTopLevelNodesAsJson",
             //              data: { mode: "funnyMode" }
             //              },
        // .. but here we use a local file instead:
        initAjax: {
            url: "sample-data1.json"
            data: { mode: "all" }
            },
        onActivate: function(node) {
            $("#echoActive").text(node.data.title);
        },
        onDeactivate: function(node) {
            $("#echoActive").text("-");
        }
    });
});

加载sample-data1的部分。Json无法工作,无论该文件是否存在并且具有适当的权限。我在这里搜索过:

如何通过Ajax使用MVC加载动态树https://groups.google.com/forum/?fromgroups= !味精/dynatree/kZqIO1zCTSU/HYTFe9O2docJ

和web上的其他地方,但我找不到如何从外部数据启用此加载。我甚至想过把我的库换成YUI或ExtJS。我现在知道在web2py上使用jstree支持树,但是,与dynatree, YUI或ExtJS相比,jstree文档对新手来说不是很友好。

文件位于哪里?

最好将文件放在静态文件夹

web2py/applications/yourapp/static/sample-data1.json

所以你需要告诉你的Javascript从静态文件夹加载这个。

initAjax: {
    url: "yourapp/static/sample-data1.json",
    data: { mode: "all" }}

或者你可以动态创建url

<script>
var url_to_sample_data = "{{=URL('static', 'sample-data1.json')}}";
.....
initAjax: {
            url: url_to_sample_data,
            data: { mode: "all" }
            }
.....
</script>

相关内容

  • 没有找到相关文章

最新更新