ExtJS-解析json数据并在视图中显示

时间:2012-02-29 16:26:17

标签: json extjs web-scripting

我使用带有JSON的Extjs调用其余的webscript,但无法在视图上显示。 问题是我从服务器获取json数据作为响应。但是当我想在视图上显示时。它没有显示。

这是我的json:

{
"data":
{
    "ticket":"TICKET_87c91dd9d18d7242e44ff638df01e0cb388ee4c7"
}
}

这是extjs代码:

Ext.onReady(function() {

alert("in login js");

var store = new Ext.data.JsonStore({
    proxy : new Ext.data.ScriptTagProxy({

        // url : 'http://ip:8080/alfresco/service/api/login',
        url : 'http://ip:8080/alfresco/service/api/login?u=Value1&pw=Value2&format=json',
        method : 'GET'


    }),

     reader : new Ext.data.JsonReader({ 
                root : 'data', 
                fields : ['ticket']
     })


});

alert("after the webscript call");
//store.load();
 var grid = new Ext.grid.GridPanel({
    renderTo: 'PagingFragment',
    frame:true,
    width:600,
    height:800,
    autoHeight: true,
    autoWidth: true,
    store: store,
    loadMask:true,
    columns: [
    {
        height:100,
        width:100,
        header: "Ticket",
        dataIndex: 'ticket',
       // renderer: title_img,
        //id: 'ticket',
        sortable: true
    }

    ],

    bbar: new Ext.PagingToolbar({
        pageSize: 2,
        store:store,
        displayInfo: true,
        displayMsg: 'Displaying topics {0} - {1} of {2}'

    }),
    sm: new Ext.grid.RowSelectionModel({
        singleSelect: true,
        listeners: {
            rowselect: {
                fn: function(sm,index,record) {
                    Ext.Msg.alert('You Selected',record.data.title);
                }
            }
        }
    })
});
store.load({
    params: {
        start: 0,
        limit: 5
    }
});

});

和jsp:

<body>
    <div id="PagingFragment" style="position:absolute;top:10px;left:200px">

    </div>


</body>

任何人都可以帮忙吗

1 个答案:

答案 0 :(得分:0)

'data'必须是一个数组。 而不是{data:{ticket:'blahblahblah'}}你必须返回 {data:[{ticket:'blahblahblah'}]}看到不同之处?