1

を使用してWebServiceに接続するsenchatouchコードがありましたExt.Ajax.request。機能上success、応答をリストに表示するか、ストアに保存します。

その方法を教えてください。以下は私のコードです。

  var View = function() {
        Ext.getBody().mask('Loading...', 'x-mask-loading', false);
        Ext.Ajax.request({
            url: 'URL',
            method: 'GET',
            success: function(response, opts) 
            {
                    var obj = Ext.util.JSON.decode(response.responseText);
                    Ext.getCmp('content').update(response.responseText);
            }
        });
    };
4

1 に答える 1

0

store 属性を持つ Ext.List を作成し、

myStore = new Ext.data.Store({
        model: Ext.regModel('', {

        fields: [
            { name: 'id', type: 'int' },
            { name: 'name', type: 'string'},
                            { name: 'age', type: 'string'}

        ]

       })
    });

myList = new Ext.List({
        store: myStore,
        itemTpl: '<div>{name}</div>' +'<div>{age}</div>'

    });

次に、myStore ストアに Agax リクエストの結果を入力します。ajax 呼び出しの onsuccess イベントは次のようになります。

 var jsonData = Ext.util.JSON.decode(response.responseText);
 myStore.add(jsonData['myresultlist']);
 myStore.sync();

次に、次のようにサーバー側から有効な json を返していることを確認します。

{
"myresultlist": [
    {
        "id": "1",
        "name": "anne",
        "age": "21"
    },
    {
        "id": "2",
        "name": "jack",
        "age": "26"
    },
    {
        "id": "3",
        "name": "Tom",
        "age": "21"
    }
],
"success": "true",
"info": "My Results List!"
}
于 2012-02-16T05:19:08.837 に答える