0

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
    });
});

ただし、jquery 1.7.1 (および 1.5.2 と 1.4.2) では、treeDatafromの内容を渡すと解析エラーが発生しgetTreeData.doます。これは、JSON の仕様では、キーと値が文字列であり、引用符で囲まれている必要があるためだと思います。しかし、キーと値を引用すると、dynatree は「null」というラベルの付いた単一のノードを持つツリーを描画します。

これを行う方法はありますか、またはツリー データを取得した後、ダイナツリーcreateNode()addNode()関数を何度も使用する必要がありますか?

関連するメモとして、正当な JavaScript オブジェクトが正当な JSON ではないのはなぜですか?

4

1 に答える 1

0

応答タイプを「text/plain」に変更し、応答で JavaScript を実行eval()しました。ねえ、どうして今まで思いつかなかったの?

于 2012-01-27T07:51:14.833 に答える