2013-01-17 18 views
5

このコードブロック作品:のExtJS 4.1.1a:JsonStore +プロキシ+ URL = "未定義のメソッドを呼び出すことはできません 'のindexOf'"

Ext.define('MyApp.store.MyJsonStore', { 
    extend: 'Ext.data.Store', 
    fields: ['fieldName'], 
    proxy: { 
     type: 'ajax', 
     url: 'json.php', 
     reader: 'json' 
    } 
}); 

この1つのクラッシュ:ここ

Ext.define('MyApp.store.MyJsonStore', { 
    extend: 'Ext.data.JsonStore', 
    fields: ['fieldName'], 
    proxy: { 
     type: 'ajax', 
     url: 'json.php', 
     reader: 'json' 
    } 
}); 

があります問題が発生した場所:

enter image description here

私が何か間違ったことをやっていますか?

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

を実際に店舗が独自の設定を上書きします:

答えて

4

JsonStoreあなたはJsonStoreのソースを見れば、あなたが参照してくださいよ...ややExtJSのライブラリ内のレッドゾーンの

です。

正直、なぜあなたはをExt.data.Storeよりも好むと思いますか? Jsonは、設計上の観点から見ると、レコードを単に格納する店舗です。

私はアプリ内でExt.data.StoreExt.data.TreeStoreを使用しています。

+0

私は最近、4.1.0から4.1.1に切り替えて、コンパイラとMVCの機能を得ました。このバージョンを防ぐと、このコードは正しいものでした。あなたの説明をありがとう、私は今大丈夫です。 – leaf

+0

JSON Storeが吸う!私はこの非感覚で1日を無駄にしました。それ以前のバージョンでうまく動作していました – hop

1

私は、初期ストア設定で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

関連する問題