2012-05-21 35 views
3

加载我一个jsonstore:ExtJS的:JsonStore完全不

jstore = new Ext.data.JsonStore({ 
    fields: ['id', 'timer', 'name', 'message'], 
    root: 'data', 
    autoLoad: true, 
    proxy: new Ext.data.HttpProxy({ 
        url: 'chat.php', 
        method: 'GET', 
      }), 
      remoteSort: false 
}); 

未从URL加载数据。 我的PHP文件中正常工作,如果我在我的URL类型由商店中使用相同的URL,输出是这样的:

{fields: ['id', 'name', 'time', 'message'], 'data': [{id: '5', name: 'stefano', time: '2012-05-21 14:08:58', message: 'mymessage'}]} 

这应该是一个正确的JSON字符串,是不是?

店面不大既不自动加载,也不符合以

jstore.load({params: {mode:'RetrieveNew', id:'-1'}}); 

一个显式调用什么可能会导致此任何想法加载?非常感谢!

+0

哪个版本是? – XenoN

回答

2

我曾与商店装载了同样的问题。

为了解决它,我用Ext.data.Store替换了Ext.data.JsonStore。其他参数相同。 因此,这里是我的自动加载ExtJS的存储器的一个例子:

this.datesStore = new Ext.data.Store({ 
         id: 'datestore', 
         root: 'dates', 
         autoLoad: true, 
         proxy: new Ext.data.HttpProxy({ 
            url: '/url/to/the/data', 
            method: 'GET' 
           }), 
         fields: ['date'] 
        }); 
+0

工作过,谢谢! – powder

3

你做了一个错字:autoLoadautoload

+0

是的,谢谢......固定的,可悲的是,似乎没有影响的问题,萤火虫控制台仍然沉默,客户端和服务器端之间没有任何沟通的迹象。 – powder

+0

难道你不需要专门配置你使用的模型吗? – sha

+0

是不是通过指定商店中的字段和根目录来完成的?对不起,我有点新的extjs这个功能.. – powder

0

只是为了增加我的解决方案:

var stateStore = new Ext.data.JsonStore({ 
    autoLoad: true, 
    root: 'states', 
    proxy: new Ext.data.HttpProxy({ 
     url: 'js/query/states.json', 
     method: 'GET' 
    }), 
    fields: ['stateCode', 'stateName'], 
}); 

stateStore.load(); 

而且我states.json

{ 
    "states": [ 
     { "stateCode": "01", "stateName": "Johor" }, 
     { "stateCode": "02", "stateName": "Kedah" }, 
     { "stateCode": "10", "stateName": "Selangor" } 
    ]  
} 

希望这将有助于其余;)