3

我有一个 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'}});

关于可能导致这种情况的任何想法?非常感谢!

4

3 回答 3

3

你打错了:autoLoad不是autoload

于 2012-05-21T18:15:36.553 回答
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']
                    });
于 2012-05-22T13:31:20.973 回答
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" }
  ]      
}

希望它会帮助其他人;)

于 2018-01-18T04:41:24.457 回答