Загрузка узлов в JIT SpaceTree
Я пытаюсь использовать SpaceTree из JIT, и мне действительно нужна помощь. Проблема в том, когда пытаются загрузить дерево из другого массива.
json.php
<?php
$temp = array(
'id' => "node02",
'name' => "roey",
'data' => '',
'children' => json_encode(array(
'id' => "node13",
'name' => "Some Node",
'data' => '',
'children' => '',
)),
);
echo json_encode($temp);
мой spacetree.js:
....
function init(){
$.getJSON('json.php', function(json){
var json = json;
....
st.loadJSON(json);
JSON, который я получаю, как и ожидалось, но скрипт не загружает его.
Кто-нибудь видит проблему и может мне помочь с этим?
2 ответа
- Удалите из своего кода "var json = json". Переменная json уже объявлена в этой функции.
- Если "st.loadJSON(json);" не в функции (JSON){ваш код}. Переменная json является локальной для функции, и на нее можно ссылаться только в объявленной ей функции.
Я столкнулся с той же проблемой, JIT SpaceTree использует массив массивов для ключа дочерних элементов, массив php должен быть таким
`<?php
$temp = array(
'id' => "node02",
'name' => "roey",
'data' => '',
'children' => array(array(
'id' => "node13",
'name' => "SomeNode",
'data' => '',
'children' =>array(),
),array(
'id' => "node14",
'name' => "SomeNode",
'data' => '',
'children' =>array(),
),
)
);
echo json_encode($temp);
?>`
надеюсь, это поможет и сэкономит время 4 другим:)