3

Sencha ビューで何も表示されない理由を理解するのに苦労しています。サーバーと Sencha プロキシ間で転送される json に問題があると思います。ノードとエクスプレスでコーディングされたサーバーと、Sencha でのプロキシ リーダーがあります。しかし、Sencha はデータを読み取ることができません。

サーバ側:

    app.get('/weather/fulljson',function(req, res) { 
    var obj = {data: [{ from_user: 'world', data: 'inter' }, { from_user: 'world2', data: 'interw' }, { from_user: 'world3', data: 'interw' }]};

    jsonP = false;
    var cb = req.query.callback;
    console.log(cb);
    if (cb != null) {
        jsonP = true;
        res.writeHead(200, {
            'Content-Type': 'text/javascript', 
            'connection' : 'close'
        });
    } else {
        res.writeHead(200, {'Content-Type': "application/x-json"});
    }
if (jsonP) {
    res.end(cb +  "(" + JSON.stringify(obj) + ");" );
}
else { res.end(JSON.stringify(obj));
}
 )};

});

煎茶ビュー:

Ext.define('Epic.view.Weather', {
    xtype: 'graph',
    extend: 'Ext.DataView',
    //requires: ['Epic.store.SWeather'],
    requires: ['Epic.model.MWeather', 'Ext.data.proxy.JsonP'],
    config: {
        store: {
        autoLoad: true,
        fields: ['from_user', 'data'],

        proxy: {
            type: 'jsonp',
            url: 'http://localhost:3000/weather/fulljson',
            reader: {
                type: 'json',
                rootProperty: 'data'
            }
        }
    } 
    },

            itemTpl: '{from_user}'
});

Chrome での応答:

Ext.data.JsonP.callback1({"data":[{"from_user":"world","data":"inter"},{"from_user":"world2","data":"interw"},{"from_user":"world3","data":"interw"}]});

しかし、ビューには何も表示されません。

4

1 に答える 1

0

ロード後にストアを確認しましたか?あなたが送信するデータが含まれていますか?はいの場合 - その場合、ビューに何か問題があります。デバッガー ツールを使用して、コンポーネントとチェック ストアを取得できます。また、モデル Epic.model.MWeather を表示できますか? 実際、モデルがあれば、ストアにフィールドを追加する必要はありません。

于 2012-12-09T20:41:59.933 に答える