ExtJS-Парсинг данных JSON и отображение в поле зрения - PullRequest
0 голосов
/ 29 февраля 2012

Я вызываю webscript отдыха, используя Extjs с JSON, но не могу отобразить в представлении. Проблема в том, что я получаю данные 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 голосов
/ 29 февраля 2012

«данные» должны быть массивом. Вместо {data: {ticket: 'blahblahblah'}} вы должны вернуть {data: [{ticket: 'blahblahblah'}]} видите разницу?

...