【发布时间】:2012-07-16 07:25:50
【问题描述】:
我正在尝试将 jsTree 添加到我的 web 应用程序中。当我触发创建 jsTree 的单击事件时,什么也没有出现。如果我检查 Chromium 开发人员工具中的 HTML,它所呈现的只是一个空的无序列表标记。有谁知道我做错了什么?
之前的HTML:
<div id="studenttree">
</div>
Jquery/Jstree 代码:
$('#studenttree').jstree({
'plugins' : ['json_data'],
'json_data' : {
'ajax' : {
'url' : 'fakejax/getdirs.txt',
'data' : function(n) {
return {'id' : 'test'};
}
}
}
});
事件触发后的HTML:
<div id="studenttree" class="jstree jstree-0 jstree-focused">
<ul></ul>
</div>
fakejax/getdirs.txt:
[
{
"data" : "test",
"children" : ["Child 1", "Child 2"]
}
]
在 Chromium 开发人员工具中,没有出现对 getdirs.txt 的 ajax 请求,所以我假设甚至没有发出请求。然而,代码块正在执行,因为周围的 console.log() 语句出现在输出框中。我觉得我错过了一些简单的东西。
【问题讨论】:
-
您是否尝试将 URL 设置为绝对路径,也不是相对路径?
-
刚刚做了,没有任何变化。我还尝试对其正下方的文件发出常规 jquery ajax 请求,并且该请求正常工作。
-
也许你可以把这个做成JSFiddle?
-
有趣,当时它似乎可以工作,我发现唯一的代码区别是我在 JSFiddle 上包含了来自 CDN 的文件。原来我的本地 jstree.min.js 已损坏。谢谢!
标签: javascript jquery web-applications jstree