0
我試圖從Web服務收到的JSON加載商店。但是,JSON中的所有數據都在商店中物品的「原始」列中... 我無法弄清楚爲什麼,我的代碼似乎正確。 歡迎任何幫助。Sencha Touch 2.2從JSON加載商店,數據轉到原始列
我的模型:
Ext.define('App.model.Node', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'id', type: 'int' },
{ name: 'version', type: 'int' },
{ name: 'user_id', type: 'int' },
{ name: 'tstamp', type: 'date' },
{ name: 'changeset_id', type: 'int' },
{ name: 'tags', type: 'string' },
{ name: 'geom', type: 'string'}
],
idProperty: 'id'
}
});
我的商店:
Ext.define('App.store.NodeStore', {
extend: 'Ext.data.Store',
xtype: 'nodestore',
requires: [
'Ext.data.proxy.Rest'
],
config: {
model: 'App.model.Node',
storeId: 'nodeStore',
autoLoad: true,
proxy: {
type:'rest',
url:'http://localhost/server/nodes',
reader: {
type:'json',
rootProperty: 'nodes'
},
noCache: false,
limitParam: false,
headers: {
'Accept' : 'application/json'
}
}
}
});
我的JSON:
{
"nodes": [
{
"id": "454467",
"version": 6,
"user_id": 52015,
"tstamp": "2008-12-27 21:38:45",
"changeset_id": "634766",
"tags": "",
"geom": "0101000020E6100000409CD1A0B29321405455682096804740"
},
{
"id": "454468",
"version": 8,
"user_id": 52015,
"tstamp": "2009-12-23 20:47:15",
"changeset_id": "3437205",
"tags": "",
"geom": "0101000020E6100000357C0BEBC69321409EC02ACD9C804740"
},
{
"id": "454469",
"version": 7,
"user_id": 52015,
"tstamp": "2009-12-23 20:47:15",
"changeset_id": "3437205",
"tags": "",
"geom": "0101000020E6100000347914F8D4932140B8BBBD5AA4804740"
}
]
}
而且當我做了
var nodeStore = Ext.getStore('nodeStore');
nodeStore.load();
console.log(nodeStore.getData());
我們可以看到下面的對象,我的數據項下的原始列...
什麼是關於「數據」標籤中的數據?有沒有一樣的? –
@LukasK。是的,_data,data和raw是一樣的 –
然後你可以忽略我認爲的原始數據。原始數據總是顯示所有數據加載(通過您的案例JSON)。在原始數據中,您可以看到已加載的字段。除了未在模型中定義的字段之外,這是模型中定義的字段。在你的情況下,它們是相同的,因爲你定義了模型中的所有內容。 –