根据条件从json中获取记录

时间:2012-10-21 03:44:34

标签: extjs extjs4 extjs4.1

我想根据employeeID从JSON获取数据。这就是JSON数据的外观:

{"empDetails":
[
    {
        "employeeId": 1,
        "employeeName": 'Anton DSouz',
        "age": 25,
        "birthday": '05/05/1988',
        "sex": 'Male'
    },
    {
        "employeeId": 2,
        "employeeName": 'John Hussain',
        "age": 26,
        "birthday": '03/25/1987',
        "sex": 'Female'            
    }
]

}

这是我用来根据employeeID获取数据的代码:

Ext.define('EmpDetails',{
extend: 'Ext.data.Model',
fields: [
   {name: 'employeeId', type: 'int'},
   {name: 'employeeName', type: 'string'},
   {name: 'age', type: 'int'},
   {name: 'birthday', type: 'date', dateFormat: 'd/m/Y'},
   {name: 'sex', type: 'string', defaultValue: 'Male'}
],
proxy: {
    type: 'rest',
    url: 'data.json',
    format: 'json',
    reader: {
        type: 'json',
        root: 'empDetails'
    }
}
});

Ext.onReady(function(){
EmpDetails.load(1,{
    success: function(empDetails){
        console.log("Age: " + empDetails.get('age'));
    }
});
});

但它不起作用。它正在寻找的网址不正确:

../../Proxy/data.json/1.json

1.json根本不存在,我是data.json中的employeeID。

请帮忙

1 个答案:

答案 0 :(得分:0)

因为你正在使用rest代理,所以它试图将id附加到url,因此它看起来像是正常的rest请求。您应该使用ajax代理。

type: 'ajax'