2010-12-16 7 views
1

서버에서 데이터를로드 할 데이터 저장소를 만들고 있습니다. 프록시에 매개 변수를 전달할 수있는 방법이 궁금합니다.매개 변수가있는 extjs 게시

var dataStore = new Ext.data.JsonStore({ 
proxy:'productSearch.php', 
root:'products', 
fields:['title', 'image', 'inStock', 'price', 'category', 'manufacturer'] 
}); 

답변

7

나는 보통 I는 다음과 같이 필드를 정의하는 것도이

var dataStore = new Ext.data.JsonStore({ 
    url: 'productSearch.php' 
    root: 'products', 
    baseParams: { //here you can define params you want to be sent on each request from this store 
    param1: 'value1', 
    param2: 'value2' 
    }, 
    fields: [...] 
}); 

dataStore.load({ 
    params: { //here you can define params on 'per request' basis 
    param3: 'value3' 
    } 
}); 

처럼 선호 할 : 여기

fields: [ 
    {name: 'title', mapping: 'title', type: 'string'}, 
    {name: 'image', mapping: 'image', type: 'string'}, 
    {name: 'inStock', mapping: 'inStock', type: 'bool'}, 
    {name: 'price', mapping: 'price', type: 'float'}, 
    {name: 'category', mapping: 'category', type: 'int'}, 
    {name: 'someDate', mapping: 'someDate', type: 'date', dateFormat: 'Y-m-d'}, 
] 

두 가지 : 나는를 할당

  1. 유형이 있으므로 저장소에 올바른 값이로드됩니다. 데이터 유형. 또한 문자열 날짜를 JavaScript Date() 객체로 변환합니다.

  2. '매핑'매개 변수를 사용하여 JSON의 어떤 필드가 상점의 어떤 필드와 일치하는지 알 수 있습니다. JSON 형식이 변경되는 이유가 무엇이든 여기에 하나만 변경하면됩니다.

관련 문제