0

我尝试将 JSON 响应中的值加载到列表中,它没有显示任何值。这是我的 JSON 请求

 http://117.218.59.157:8080/WishList/ShowItems/userID=1 
 GET method

JSON 响应

在此处输入图像描述

这是我的列表代码

  Ext.regModel('Filiale', {
                         fields: ['itemID', 'itemName', 'itemImage'],
                         });
  var tab= Ext.create('Ext.List', {
                                width: 320,
                                height: 290,
                                model: 'Filiale',
                                store: {
                                fields: ['itemName','itemImage'],
                                proxy: {
                                type: 'ajax',
                                method: 'GET',
                                url : 'http://117.218.59.157:8080/WishList/ShowItems/userID=1',
                                reader: {
                                type: 'json'
                                }
                                }
                                },
                                itemTpl: '<img src="{itemImage}" width="35" heigh="35"></img><span>&nbsp&nbsp&nbsp{itemName}'
                                });

我认为列表中的语法有问题。谁能帮我解决

4

1 回答 1

1

您忘记设置rootJSON 的属性reader。因此,列表组件不知道从哪里开始!您应该返回带有 JSON 列表的根属性,如下所示:

{"items": 
  [{
    "itemID": "1",  
    "errorMsg": "",  
    "itemName": "Airplane",  
    "itemDesc": "Model NEW 2003"
   },
   {
    "itemID": "2",  
    "errorMsg": "",  
    "itemName": "Bike",  
    "itemDesc": "Model NEW 2003"
   }
  ]
}

还要确保设置idPropertyJSON 阅读器!

proxy: {
  type: 'ajax',
  url: 'http://117.218.59.157:8080/WishList/ShowItems/userID=1',
  method: 'GET'
},
reader: {
  type: 'json',
  root: 'items',
  idProperty: 'itemID'
}

另外,您没有设置模型列类型!定义模型如下:

Ext.define('Filiale', {
extend: 'Ext.data.Model',
fields: [
    {name: 'itemID', type: 'int'},
    {name: 'itemName', type: 'string'},
    {....}
]

});

于 2013-09-01T05:54:36.447 回答