2010-12-27 4 views
1

다음 코드가 있지만 작동하지 않습니다. callback은 절대 실행되지 않으며로드 수신기도 실행되지 않습니다.ExtJs 스토어에서 콜백이 실행되지 않습니다.

var someDS = new Ext.data.Store({ 
    proxy : new Ext.data.HttpProxy({url : 'someUrl', method : 'GET'}), 
    reader: new Ext.data.JsonReader({} ['aaa', 'bbb', 'ccc']), 
    callback : function(options, success, response) { 
     alert(response); 
     // some code 
    }, 
    listeners: { 
     load : function() { 
      alert("load"); 
      // some code 
     } 
    } 
}); 

답변

4

독자 정의가 나에게 올바른 보이지 않는다는 다음 "{} [ 'AAA', 'BBB', 'CCC']"비트 괜찮지?

어쨌든,이 코드에 extjs 3.2에서 작동합니다

가 '/ 당신의/URL /'에서 서버 호출에 의해 반환 된 다음과 같은 JSON 문자열과 함께 작동
var mystore = new Ext.data.Store({ 
    url: '/your/url/', 
    autoLoad: true, 
    reader: new Ext.data.JsonReader({ 
     root: 'rows', 
     fields: [ 'id', 'field1', 'field2' ] 
    }), 
    listeners: { 
     load: function(t, records, options) { 
      console.log('test ok'); 
      for (var i=0; i<records.length; i++) { 
       console.log(String.format('record {0} = {1}', i, records[i].data.id)); 
      } 
     } 
    } 
}); 

:

{ 
    "rows": [ 
     { 
      "id": 17, 
      "field1": "Emiliano", 
      "field2": 1 
     }, 
     { 
      "id": 18, 
      "field1": "Luca", 
      "field2": 3 
     }   
    ], 
    "total": 2 
} 
  • 로드 메소드와로드 이벤트를 혼동하지 마십시오. ;

  • 실제로 는 문자열 인쇄 된 ' 확인 테스트'를 가질 필요는 없습니다 만, 그것은 당신이 ID를 인쇄되지 않습니다 없이 잘 ( 에 독자 정의를 '루트'매개 변수를 잊지 마세요 루프 용 )

관련 문제