我正在尝试使用dynatree,它可以像这样初始化:
var treeData =
[
{title: "group1", key:"182" },
{title: "group2", key:"181" },
{title: "group3", key:"189" , isFolder:true, children:
[
{title: "group3_1", key:"301" }
]
}
];
$(".groupContainer").dynatree({
checkbox: false,
selectMode: 2,
children: treeData
});
请注意treeData
中的对象具有未引用的名称引用的值。
现在,我想这样做:
var treeData = [];
$.getJSON('/getTreeData.do', function(data){
treeData = data;
$(".groupContainer").dynatree({
checkbox: false,
selectMode: 2,
children: treeData
});
});
但是,当我从treeData
传递getTreeData.do
的内容时,jquery 1.7.1(以及1.5.2和1.4.2)会引发解析错误。我相信这是因为JSON的规范要求键和值是字符串,并且是引用的。但是如果我引用键和值,那么dynatree将绘制一个标有“null”的单个节点的树。
有没有办法做到这一点,或者在检索树数据后,我是否必须多次使用dynatree的createNode()
和addNode()
函数?
在相关的说明中,合法的javascript对象如何不合法JSON?
答案 0 :(得分:0)
我已将响应类型更改为“text / plain”并在响应上运行javascript的eval()
。哎呀,为什么我以前没想过呢?