私はJavaScriptコーディング、特にjQueryの使用にかなり慣れていません。jsTreeを使用してJSONを介してデータを入力しようとしています。今、私の質問は関連する質問に答えられたと思いますが、私がしていることに対する具体的な答えを見つけることができないようです。jsTreeのドキュメントも参照しましたが、それでも理解できません。
以下は私が試しているコードです
buildTree : function(name, url, nodeRef) {
$("#"+name).jstree({
"json_data" : {
"ajax" : {
"url" : url + nodeRef,
"data" : function(n) {
return { id : n.attr ? n.attr("id") : 0 };
}
}
},
"plugins" : [ "themes", "json_data" ]
});
}
これは基本的に、JSONのjsTreeドキュメントのコードのコピーです。ここで何が起こっているのかというと、その内容のツリーのルートフォルダにデータを入力することができます。以下は、私が取得しているJSONの応答です。
[
{
"attr":{"id":"a3e6a1f0-ec50-4215-a6df-2065eb09115e","rel":"file"},
"data":"File 1","state":""
},
{
"attr":{"id":"b38e4a72-875b-4d69-95d3-5437f7e65575","rel":"folder"},
"data":"Folder 1","state":"closed"
}
]
しかし、フォルダーのノードをクリックすると、同じ値を持つ同じJSONリクエストが入力されています。
私は犯人が
"url" : url + nodeRef,
しかし、応答から取得したIDを渡す方法に迷い、最初のnodeRef値を置き換えます。コールバックを使用してみましたが、何も起こりません。
どんな助けでも大歓迎です。