2011-06-23 6 views
1

DataViewが空白になる典型的な理由は、モデルまたはJSONが間違っているためです。私が知ることから、私のは正しいです...私はなぜ私のDataViewが空白であるか分からない。Sencha Touch:Ext.DataViewにストアデータが表示されない

コントローラ

rpc.controllers.AboutController = new Ext.Panel({ 
    id: 'rpc-controllers-AboutController', 
    title: 'About', 
    iconCls: 'info', 
    layout: 'card', 
    scroll: 'vertical', 
    items: [rpc.views.About.index], 
    dockedItems: [{ xtype: 'toolbar', 
     title: 'RockPointe Church | Mobile' 
    }], 
    listeners: { 
     activate: function() { 
      if (rpc.stores.AboutStore.getCount() === 0) { 
       rpc.stores.AboutStore.load(); 
      } 
     } 
    } 
}); 

ビュー

rpc.views.About.index = new Ext.DataView({ 
    id: 'rpc-views-about-index', 
    itemSelector: 'div.about-index', 
    tpl: '<tpl for="."><div class="about-index">{html}</div></tpl>', 
    store: rpc.stores.AboutStore, 
    fullscreen: true, 
    scroll: 'vertical' 
}); 

ストア

rpc.stores.AboutStore = new Ext.data.Store({ 
    id: 'rpc-stores-aboutstore', 
    model: 'rpc.models.AboutModel', 
    autoLoad: true, 
    proxy: { 
     type: 'scripttag', 
     url: WebService('About', 'Index'), 
     method: 'GET', 
     reader: { 
      type: 'json', 
      root: 'results' 
     }, 
     afterRequest: function (request, success) { 
      if (success) { 
       console.log("success"); 
      } else { 
       console.log("failed"); 
      } 
      console.log(request); 
     } 
    } 
}); 

rpc.stores.AboutStore.proxy.addListener('exception', function (proxy, response, operation) { 
    console.log(response.status); 
    console.log(response.responseText); 
}); 

モデル

rpc.models.AboutModel = Ext.regModel('rpc.models.AboutModel', { 
    fields: ['html'] 
}); 

JSON

mycallback({ "結果":{ "HTML": "簡潔にするために除去...コンテンツ... "}、" 成功":真});

私はここで間違っていると誰が見ることができますか?

コンソール/ javascriptエラーはありません。そして、私が実際にWebServiceからJSONを取り除いていることを示すリソースがあります。あなたが要求をしてもらいたい場合、私はAboutControllerに私のactivateリスナー内console.log(rpc.stores.AboutStore.getCount());を使用する場合は

、結果は常にある、と私は全くわからないんだけど、なぜここに

は、ステージングアプリです
http://rpcm.infinitas.ws/(このリンクはある時点で期限切れになります)

答えて

1

json値をオブジェクトではなく配列として返すようにしてください。私はExtが単なるレコードの代わりにレコードの配列を期待していると思います。例

については

"{結果:[{" HTML ": "あなたのhtml"}]}"

+0

は、配列なしでそれを行う方法はありませんか?このプロジェクトには本当に必要ありません。 –

+0

これはちょうどいい答えです。私はPOCOを 'List 'としてシリアル化し、Senchaに送って、期待どおりに動作します。 –

関連する問題