我想将json数据从外部文件传递给jstree对象。 我有以下片段,但它不起作用
<script>
$.jstree.defaults.core.themes.responsive = true;
$('#frmt').jstree({
plugins: ["checkbox", "types"],
"json_data":{
"ajax" : {
"url" : "D:\p\web\nodes.json" // the URL to fetch the data. Use relative url if required
}
},
"types": {
"file": {
"icon": "jstree-file"
}
}
});
</script>
我的nodes.json文件
[
{
"id": "ajson1",
"parent": "#",
"text": "Simple root node"
},
{
"id": "ajson2",
"parent": "#",
"text": "Root node 2"
}, {
"id": "ajson3",
"parent": "ajson2",
"text": "Child 1"
}, {
"id": "ajson4",
"parent": "ajson2",
"text": "Child 2"
}
]
当我在javascript中手动插入这些数据时,它工作正常,但是当我指定nodes.json外部文件的路径时,它没有工作
答案 0 :(得分:3)
您使用的是哪个版本的jstree?当前版本是3.3.1。旧版本有一个名为json_data的插件,你需要包含&#34; json_data&#34;在你的插件列表中。如果使用最新版本,您不需要使用&#34; json_data&#34;,您只需使用&#34; url&#34;。见下面的例子:
$('#tree').jstree({
'core' : {
'data' : {
'url' : function (node) {
return node.id === '#' ? 'ajax_roots.json' : 'ajax_children.json';
},
'data' : function (node) {
return { 'id' : node.id };
}
}
});
希望有所帮助。