4

我有一个 .json 文件,其内容应该由 Ext.data.Store 读取并由 Ext.grid.Panel (extjs 4) 显示。但是,没有显示数据,只有网格。代码是:

var user = Ext.create('Ext.data.Store', {
    storeId: 'user',
    model: 'User',
    autoLoad: 'true',
    proxy: {
        type: 'ajax',
        url : '/users.json',
        reader: {type: 'json', root: 'blah'}
    }
});

 Ext.create('Ext.grid.Panel',{
    store :user,
    id : 'user',
    title: 'Users',
    columns : [ 
        {header: 'ID',     dataIndex : 'id'}, 
        {header : 'NAME',  dataIndex : 'name'}, 
        {header : 'Email', dataIndex: 'email'}
    ],
    height :300,
    width: 400,
    renderTo:'my-portlet2'
});

我的json文件是:

{ blah[
  {
    "id": 1,
    "name": "Ed Spencer",
    "email": "ed@sencha.com"
  },
  {
    "id": 2,
    "name": "Abe Elias",
    "email": "abe@sencha.com"
  }
]}

显示内联数据,但是当我尝试从 json 文件中读取时,它不起作用。我正在使用 firefox,而 firebug 说从我的 .js 文件加载脚本时出错。能否请你帮忙?谢谢!

4

2 回答 2

3

非常感谢大家。现在工作正常。服务器找不到文件,因为路径不正确。经过一番试验,我终于能够通过提供正确的路径从 json 文件中获取 json 数据,例如 - “TestPortlet3-portlet/js/example.json”。最初,我只给出“/example.json”或“users.json”。将 .json 文件保存在正确的文件夹中并提供正确的路径,我能够显示 json 数据:)

于 2012-06-11T14:44:40.807 回答
0

尝试这个:

{ "blah": [
  {
    "id": 1,
    "name": "Ed Spencer",
    "email": "ed@sencha.com"
  },
  {
    "id": 2,
    "name": "Abe Elias",
    "email": "abe@sencha.com"
  }
]}
于 2012-06-07T12:14:45.833 回答