4

Ext.data.Store によって読み取られ、Ext.grid.Panel (extjs 4) によって表示される内容の .json ファイルがあります。ただし、データは表示されず、グリッドのみが表示されます。コードは次のとおりです。

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 を使用していますが、.js ファイルからスクリプトをロード中にエラーが発生したと firebug が表示されます。助けていただけますか?ありがとう!

4

2 に答える 2

3

どうもありがとうございました。現在は正常に動作しています。パスが適切でないため、サーバーはファイルを見つけることができませんでした。少し実験した後、「TestPortlet3-portlet/js/example.json」のような適切なパスを指定することで、最終的に json ファイルから 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 に答える