在尝试在AJAX调用中传递JSON数组时,我遇到了一个单调乏味的问题。我试图根据JSTree要求的格式将链接属性添加到数组中....
这可行...不使用单独的php文件......
$('#jstree').jstree({
'core' : {
'data' : [{"id":"1","name":"services","text":"Services","parent_id":"0","a_attr":{"href":"www.google.com"}}]
}
});
但是在使用PHP文件时...
$('#jstree').jstree({
'core' : {
'data' : {
'url' : "response.php",
'data' : function (node) {
return { 'id' : node.id };
},
"dataType" : "json"
}
},
});
php文件......
$sql = "SELECT * FROM `tree`";
$res = $mysqli->query($sql);
while($row = $res->fetch_assoc()) {
$row['a_attr']->href = "www.google.com";
$data[] = $row;
}
echo json_encode($data);
这产生了以下结果..
[{"id":"1","name":"services","text":"Services","parent_id":"0","a_attr":{"href":"www.google.com"}}]
这正是我想要的但是...... jstree不接受这个......
当我删除代码中的a_attr添加...它可以工作,但显然我不再需要数组中的attr ... 检查PHP文件上的json输出时..我收到一条警告消息:
警告:在第15行的C:\ xampp \ htdocs \ noc \ response.php中从空值创建默认对象
但如果有人愿意帮助我,我会毫无头绪并需要一些帮助......