我正在使用jstree创建树导航。
如果我使用HTML中定义的静态数据或分配给jstree.core.data
的静态数据,它会起作用,但是当我指定jstree.core.data.url
时,它不会。只是显示永远加载。
如果我将静态json文件或ajax url指定为源,则无关紧要。
<html>
<head>
<link rel="stylesheet" href="jquery.treeview.css" />
<link rel="stylesheet" href="style.min.css" />
</head>
<body>
<div id="stuck"></div>
<br/>
<div id="stuck2"></div>
<br/>
<div id="works"></div>
<script type="text/javascript" src="jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="jstree.min.js"></script>
<script type="text/javascript">
$('#stuck').jstree({
"core" : {
'data': {
'url' : 'catalog.json'
}
},
});
$('#stuck2').jstree({
'core' : {
'data' : {
'url' : function (node) {
return node.id === '#' ?
'ajax_roots.json' :
'ajax_children.json';
},
'data' : function (node) {
return { 'id' : node.id };
}
}
}
});
$('#works').jstree({ 'core' : {
'data' : [
{ "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" },
]
} });
</script>
</body>
</html>
我有:
application/json
和/或text/json
php
或nginx
我该如何调试?我在控制台中没有错误或警告。
答案 0 :(得分:0)
我似乎犯了很多错误:
显然我没有检查所有JSON文件,有些文件没有引号或带单引号而不是双引号。
当passign JSON数据内联时,如第3个例子中指定的那样。它也可以在引号中没有键名,因此无效的JSON在内联工作,但在通过XHR
获取时无效。混乱。
由于mvw提到的安全措施,docs / index.html中的示例无效。错误消息是:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.