2016-07-26 4 views
0

я создать дерево ExtJS при загрузке данных динамически, код JS нижеExtJS дерево динамически загружать

var treeModel = Ext.define("TreeModel", { 
extend : "Ext.data.Model", 
fields : [{id: "id", type : "string"}, 
      {name : "text", type : "string"}, 
      {name : "leaf", type : "boolean"}] 
}); 



var store = new Ext.data.TreeStore({ 
    model: 'treeModel', 
    proxy: { 
     type: 'ajax', 
     url: 'listtreecontent.action' 
    }, 
    root: { 
     expanded: true 
    }, 
    reader: { 
      type: 'JSON', 
      root: 'array' 
     }, 
    autoLoad:true 
}); 

var treePanel = new Ext.tree.TreePanel({ 
    title: 'Data management', 

    width: 500, 
    height: 300, 
    renderTo: Ext.getBody(), 

    useArrows: true, 
    rootVisible: false, 

    store: store 

}); 

, но он не показывает дереву

я могу получить данные ответа, response data

, когда я пишу данные ответа в файл json, и пусть url = jsonfile адрес, он может показать дерево, я не знаю почему?

+0

ли вы проверить вашу Devtools консоль ?. Были ли ошибки? –

+0

Я думаю, что это поможет вам: http://stackoverflow.com/questions/13952140/extjs-treestore-with-proxy –

+0

my return - это тип строки, которая содержит {"success": true, "children": [ ]} но это также не работает. , и я также пробовал тип jsonobject, он не работает – user6601527

ответ

0

возможно в struts2, мы должны установить для параметров действия

<action name="listtreecontent" class="org.easygeoc.account.ListTreeContent" method="returnTreeNodes"> 
<result type="json"> 
<param name="root">array</param> 
<param name="root">js</param> 
</result> 
</action>