그래,이 사이트는 내가 플레이 프레임 워크에 함께 넣고 있습니다. 기본적으로 백엔드의 FTP 사이트에 연결하여 폴더/파일 목록을 검색하고 기본 ExtJS 프런트 엔드로 JSON으로 보냅니다.TreeLoader : 자식 노드에 대한 ajax 요청을 실행하지 않습니까?
트리 패널이 올바르게 채워지도록 노력하고 있지만 리프가 아닌 노드를 확장 할 때 특별한 작업을 수행하지 않는 것 같습니다.
내가 읽은 것을 바탕으로 데이터 URL을 사용해야하고 노드 매개 변수를 해당 데이터 URL에 전달하여 노드 노드에 대한 데이터를 가져 오지만 방화 광에서는 그렇지 않습니다. 해당 데이터에 대해 전송 된 요청을 확인하십시오.
노드가 확장되었을 때 자식 노드가 동적으로 노드를 가져올 수 있도록 AJAX 호출을 허용하려면 어떻게해야합니까? 여기
참조에 대한 관련 코드 : ID가 JSON으로 반환Ext.onReady(function() {
new Ext.Viewport({
layout: 'border',
defaults: {
height: 100,
width: 250,
collapseMode: 'mini'
},
items : [
{
region: 'center',
margins: '5 5 0 0',
contentEl: 'center-content'
},
{
id: 'file-tree',
region: 'west',
title: 'Files',
split: true,
collapsible: true,
xtype: 'treepanel',
autoScroll: true,
loader: new Ext.tree.TreeLoader({
dataUrl: 'http://localhost:9000/application/listFiles',
}),
root: new Ext.tree.AsyncTreeNode({
expand: true,
text: "/",
id: "/"
}),
rootVisibile: true,
listeners: {
click: function(n) {
Ext.Msg.alert('File Tree Click', 'You clicked: ' + n.attributes.id);
}
}
}
]
});
});
내가 확장하려는 하위 디렉토리의 전체 경로이고, LISTFILES 조치는 매개 변수를 사용하고 적절한를 반환합니다 파일. 마지막 항목은 내가 동적으로 아이들을로드 찾고 폴더의 예입니다
[
{
id: "/./",
text: "./",
leaf: false,
children: [ ]
},
{
id: "/../",
text: "../",
leaf: false,
children: [ ]
},
{
id: "/.ftpquota",
text: ".ftpquota",
leaf: true,
children: [ ]
},
{
id: "/.htaccess",
text: ".htaccess",
leaf: true,
children: [ ]
},
{
id: "/022610.html",
text: "022610.html",
leaf: true,
children: [ ]
},
{
id: "/Gail/",
text: "Gail/",
leaf: false,
children: [ ]
}
]
그건 : 요청으로
, 여기에 JSON 출력의 조각입니다.
괜찮 았으면 좋겠어. 작동하도록 할 수 있는지 알아봐. 귀하의 회신에 감사드립니다. –
나는 약간 다른 방향으로 갈 것이라고 생각하지만, 내가 성취하려고 노력한 것에 대한 최선의 답을 제공함에 따라 현상금을 수여 할 것이다. –