当前网页显示一个静态 jstree。该脚本(如下所示)与 JSP 页面位于同一文件中,使用添加到 spring 模型的数据。
设置#1
<div id="permissions" class="scroll"></div>
<script type="text/javascript" class="source">
$(function () {
$("#permissions").jstree({
"plugins" : [ "themes", "json_data", "checkbox", "sort", "ui" ],
"checkbox" : { "override_ui" : true },
"themes" : { "icons" : false },
"json_data" : { "data" : ${permissionTree} }
});
});
</script>
为了对其进行更多的动态控制,我将脚本移动到一个 javascript 文件中,并使其能够显示不同的信息。不过,出于测试目的,我使用的数据与以前完全相同。
设置 #2
function getPermissions(str) {
$.getJSON("getPermissions.htm", {id : str},
function(data) {
$(function () {
$("#permissions").jstree({
"plugins" : [ "themes", "json_data", "checkbox", "sort", "ui" ],
"checkbox" : { "override_ui" : true },
"themes" : { "icons" : false },
"json_data" : { "data" : JSON.stringify(data) }
});
});
});
}
但是,使用设置 #2,树显示原始 JSON,而不是树。我已经确认在这两种情况下data
都是一样的。那么给了什么?为什么它不能以这种方式工作?