2013-01-17 3 views
5

이 코드 블록 작품 JsonStore +를 "정의되지 않은 방법 '같이 IndexOf'호출 할 수 없습니다" 문제가 발생하는 위치에 배치 : 내가 뭔가 잘못하고의 ExtJS의 4.1.1a : 프록시 + URL =

enter image description here

암을?

constructor: function(config) { 
    config = Ext.apply({ 
     proxy: { 
      type : 'ajax', 
      reader: 'json', 
      writer: 'json' 
     } 
    }, config); 
    this.callParent([config]); 
} 

실질적 저장소가 자신의 설정을 무시합니다

답변

4

JsonStoreJsonStore의 소스를 보면

, 당신은 볼 수 ... 어느 정도 ExtJS 라이브러리에 빨간색 영역입니다 .

정직하게 말하면 나는 왜 JsonStoreExt.data.Store 이상으로 선호 할까? Json은 설계 관점에서 읽는 것 이상입니다. 상점은 단순히 레코드를 저장합니다.

내 앱에 Ext.data.StoreExt.data.TreeStore 만 사용합니다.

+0

최근에 컴파일러 및 MVC 기능을 사용하기 위해 4.1.0에서 4.1.1로 전환했습니다. 이 버전을 방지하면이 코드는 옳았습니다. 설명 해줘서 고마워, 이제 괜찮아. – leaf

+0

JSON Store가 싫증나! 나는이 하루 하루를 하루 종일 낭비했다. 이전 버전에서 잘 작동했습니다. – hop

1

초기 저장 config에 URL을 설정하지 않아서 JsonP 저장소에서 Ext JS 4.2.1과 비슷한 문제가 발생했습니다. 성공적으로 전달 된 URL을로드

myStore.load({ url: 'json.php' }); 

에 발생하지만 나는 또한 당신이 가지고있는 동일한 오류 및 스택 추적을 가지고, 데이터 결코 : 나는로드하는 동안 그것을 전달 동적 URL을 생성하지 않았다 실제로 표시됩니다 (Chrome 개발자 도구를 통해서만 볼 수 있음). 나는 다음과 같은 코드를 사용하여 문제를 해결 :

myStore.proxy.url = 'json.php'; 
myStore.load(); 

나는 우리가 정확히 같은 일을하지 않는 알고 있지만, 우리가 가진 오류가 너무 잘하면 올바른 방향이 할 수있는 최소한 포인트 당신 동일하다. 그것이 나오는 것에 따라

UPDATE

는 문제는 실제로 그 값을 자동으로로드하는 콤보 상자 막아야. 그것을 클릭하면 값을 다시로드하려고 시도 할 것이고로드 ({}) 호출에서 URL을 전달하여 성공적으로로드 한 경우에도 프록시를 사용하는 자체로드 메소드를 사용하고있었습니다 URL (정의되지 않음). 프록시 URL을 설정하면 오류가 중지되었습니다.

나를위한 진정한 해결책은 queryMode 설정을 local으로 설정하여 ComboBox가 자동 로딩되는 것을 방지하는 것이 었습니다.

+0

죄송 합니다만 컨텍스트를 기억하지 못하기 때문에이 문제가 발생한 이후로 많은 시간을 보냈습니다. 어쨌든, 당신의 공헌에 감사드립니다. 이것은 확실히 누군가를 도울 수 있습니다. – leaf