将数据从json文件加载到extjs中

时间:2012-06-06 16:12:40

标签: json extjs4

我有一个.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文件加载脚本时出错。能否请你帮忙?谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

试试这个:

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