Итак, у меня есть этот сайт, который я собираю в рамках игры. Он в основном подключается к FTP-сайту на задней панели, извлекает список папок/файлов и отправляет их на основной интерфейс ExtJS как JSON.TreeLoader: Не запускает ajax-запрос для дочерних узлов?
У меня он работает так, что панель дерева заполняется правильно, но, похоже, она не делает ничего особенного, когда я расширяю нелистовой узел.
На основании того, что я прочитал, он должен использовать 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: [ ]
}
]
Этот последний пункт является примером папки, что я ищу, чтобы динамически загружать детей в.
ОК, я попробую, посмотрим, смогу ли я заставить его работать. Спасибо за ваш ответ. –
Я думаю, что я собираюсь пойти в несколько другом направлении, но, поскольку вы предоставили лучший ответ за то, что я пытался выполнить, я награжу вас щедростью. –