Javascript jstree 3.0.0在加载json数据时卡住了
我正在用jstree创建树导航 如果我使用HTML中定义的或分配给Javascript jstree 3.0.0在加载json数据时卡住了,javascript,jquery,json,jstree,Javascript,Jquery,Json,Jstree,我正在用jstree创建树导航 如果我使用HTML中定义的或分配给jstree.core.data的静态数据,它就可以工作,但是当我指定jstree.core.data.url时,它就不能工作了。只显示永远加载 无论我是将静态json文件还是ajax url指定为源代码 <html> <head> <link rel="stylesheet" href="jquery.treeview.css" /> <link rel="stylesheet" hre
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>
$(“#卡住了”).jstree({
“核心”:{
“数据”:{
“url”:“catalog.json”
}
},
});
$('#stuck2').jstree({
“核心”:{
“数据”:{
“url”:函数(节点){
return node.id=='#'?
“ajax_root.json”:
'ajax_children.json';
},
“数据”:函数(节点){
返回{'id':node.id};
}
}
}
});
$('#works').jstree({'core':{
“数据”:[
{“id”:“ajson1”,“父节点”:“#”,“文本”:“简单根节点”},
{“id”:“ajson2”,“父节点”:“#”,“文本”:“根节点2”},
{“id”:“ajson3”,“parent”:“ajson2”,“text”:“Child 1”},
{“id”:“ajson4”,“parent”:“ajson2”,“text”:“Child 2”},
]
} });
我有:
- 使用测试JSON李>
- 对工作和非工作案例使用相同的JSON
- 将
和/或php
中的响应标题更改为nginx
或application/json
text/json
- 多浏览器
- 尝试了1.9.0。以及jQuery的1.11.0版本
- 查看了类似的问题,但这些都是关于旧jstree的
- 尝试从jstree运行docs/index.html。同样的问题
我如何调试这个?控制台中没有错误或警告。我似乎犯了很多错误:
XHR
获取它时就不行了。令人困惑请求的资源上不存在“Access Control Allow Origin”头。因此,不允许访问源站“null”。
您的URL必须指向提供脚本的主机。这是一项安全要求,请参阅。搜索跨域。也有例外,但它们需要特殊的服务器头。请使用浏览器JavaScript控制台的“网络”选项卡检查网络交互。学习使用JavaScript调试器有助于跟踪此类问题。@liepumartins,我几个小时前就遇到了这个问题,但当我将正确的JSON内容类型传回客户机时,问题就解决了,具体来说就是:内容类型:application/JSON;字符集=utf-8