【问题标题】:Loading nodes in JIT SpaceTree在 JIT SpaceTree 中加载节点
【发布时间】:2012-10-31 05:45:25
【问题描述】:

我尝试使用 JIT 的 SpaceTree,我真的需要一些帮助。 问题是当尝试从另一个数组加载树时。

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 符合预期, 但脚本不加载它。

有没有人发现问题并可以帮助我解决这个问题?

【问题讨论】:

    标签: php javascript json space-tree


    【解决方案1】:
    1. 从您的代码中删除“var json = json”。变量 json 已在该函数中声明。
    2. 如果“st.loadJSON(json);”不在函数(json){你的代码}中。 变量 json 是函数的局部变量,只能在它声明的函数中被引用。

    【讨论】:

    • 谢谢你的回答,我照你说的做了,但现在我只有根节点,第二个显示我未定义。
    【解决方案2】:

    我遇到了同样的问题,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 人的时间 :)

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2014-08-03
      • 2012-07-01
      • 2013-07-03
      • 2012-10-21
      • 2011-07-28
      • 2013-11-08
      • 2013-11-08
      • 2011-05-26
      相关资源
      最近更新 更多