Хорошо, у меня есть этот сайт, который я создаю в рамках игры.Он в основном подключается к FTP-сайту на сервере, получает список папок / файлов и отправляет его на базовый интерфейс ExtJS в виде JSON.
У меня это работает так, что панель дерева заполняется правильно, но, кажется, она не делает ничего особенного, когда я раскрываю неконечный узел.
В зависимости от того, что я 'прочитав, он должен использовать URL-адрес данных и передать параметр узла с идентификатором узла в этот URL-адрес данных, чтобы получить данные для дочерних узлов, но в firebug я не вижу никаких запросов на отправку этих данных.
Что мне нужно сделать, чтобы разрешить вызовы ajax, чтобы узлы, у которых есть дочерние элементы, получали их динамически при расширении узла?
Вот соответствующий код для справки:
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);
}
}
}
]
});
});
Идентификатор, возвращаемый в JSON, представляет собой полный путь к подкаталогу, который я хотел бы развернуть, и действие listfiles примет этот параметр и вернет соответствующие файлы.
По запросу,Вот фрагмент вывода JSON:
[
{
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: [ ]
}
]
Этот последний элемент является примером папки, в которую я ищу для динамической загрузки дочерних элементов.