2012-10-21 2 views
0

employeeID를 기반으로 JSON에서 데이터를 가져 오려고합니다. 이는 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'    
    } 
] 

}

이 내가 직원 ID를 기반으로 데이터를 가져 오기 위해 사용하고있는 코드입니다 :

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')); 
    } 
}); 
}); 

그러나 그것은 작동하지 않습니다. 찾고있는 URL이 올바르지 않습니다.

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

1.json이 전혀 존재하지 않습니다. i는 data.json에있는 employeeID입니다.

는 정상적인 나머지 요청처럼 보이는, 그래서

답변

0

당신이 휴식 프록시를 사용하고 있기 때문에,이 URL에 ID를 추가하려고 시도하는 것 도와주세요. 대신 ajax 프록시를 사용해야합니다.

type: 'ajax' 
+0

'휴식'을 '아약스'로 변경했지만 예상 결과가 나타나지 않으면 효과가있었습니다. 데이터가 1이면 나이는 25입니다.하지만 다시 2를 보내면 반환되는 나이는 25입니다. 위에서 게시 한 json 데이터에 따르면 26이어야합니다. 위 코드에서 문제가있는 부분을 알려주십시오. – user182944

+0

항상 모든 기록을 반환합니다. 매개 변수를 전달하는 경우 올바른 레코드를 얻으려면 서버 코드에 적절한 필터를 적용해야합니다. –

+0

@ user182944, 이것이 성공하면 해결 된 것으로 표시하고 다른 사람들을 돕습니다. –

관련 문제