2011-04-23 3 views
0

Мне нужно динамически использовать JSON с data.TreeStore. С помощью этого компонента есть прокси-конфигурация, ему нужен путь к файлу JSON. Моя проблема: я не могу написать Json-файл в своем приложении. Я бы знал, если я могу сгенерировать JSON динамически и передать его в url config в прокси-сервер?Как использовать JSON без json-файла?

Например:

Var trStore = Ext.create('Ext.Data.TreeStore',{ 

... // config 
proxy { 

type : 'ajax', 
url : { id : 'id0', task :'task0', value : 'val0', ..... } 

} 
}); 

Мой URL не файл URL, но JSON генерируется с моим собственным способом!

Как построить JSON для использования с TreeStore и без создания файла!?

Я надеюсь, вы понимаете мою проблему :)

Спасибо большое, чтобы помочь!

ответ

0

Ваш пример выглядит так, будто вы хотите передать статические «встроенные данные» в TreeStore.

Насколько я вижу, это невозможно с помощью голого TreeStore, так как он не имеет данных вариант конфигурации, как «обычный» магазин. Однако это возможно с Treepanel.

Вы можете передать свои встроенные данные в TreeStore, используя конфигурацию root в дереве Treepanel (а не в TreeStore). Она работает в очень похожим образом, как данных конфигурации опций «нормального» Магазин:

Ext.create('Ext.tree.Panel', { 
    root: { id : 'id0', task :'task0', value : 'val0', children: [...], ... } 
    // ... 
}); 

Есть два предостережения, связанные с этим:

  • В Beta3 документы говорят корень является boolean, это неправильно.
  • Из-за ошибки в beta3 вы не можете использовать это вместе с rootVisible: false.
0

Помните, что «файл json» - это просто текстовая строка, поэтому вы можете сгенерировать ее с помощью PHP или вашего предпочтительного серверного программного обеспечения.

Для URL-адреса в прокси просто введите URL-адрес, который вы используете для запуска этой функции. Например, в моем веб-приложении у меня есть http://example.org/controller/getTree?output=json

Это работает функция getTree() на моем controller, и функция знает, чтобы вернуть json.

Смежные вопросы