2011-01-28 13 views
5

javascriptビューモデルでExtjsを使用しようとしています。私は、JsonReaderとext.data.memoryproxyクラスを使ってストアをロードすることに成功しました。Ext.jsのmemoryproxyに書き込む方法

しかし、私はJavascriptのviewmodelに変更を書きたいと思っています。店のwriterプロパティにjsonwriterを追加しようとしましたが、これは機能しません。私はこのエラーを取得する:

uncaught exception: Ext.data.DataProxy: DataProxy attempted to execute an API-action but found an undefined url/function. Please review your Proxy url/api-configuration.

私のコードは次のとおりです。

var service = viewmodel.selectedService.analytes; 

    var serviceResultsStore = new Ext.data.Store({ 
     reader: new Ext.data.JsonReader({ 
      fields: ['Analyte', 'Units', 'Value', 'Rounded', 'PossibleValues'] 

     }), 
     proxy: new Ext.data.MemoryProxy(service), 
      writer: new Ext.data.JsonWriter({ 
        encode: false, 
        writeAllFields:true 
       }) 

この上の任意のヘルプをいただければ幸いです!

答えて

1

JsonWriterMemoryProxyはうまく機能しません。彼らは意図されていません。 JsonWriterドキュメントから

DataWriter extension for writing an array or single Ext.data.Record object(s) in preparation for executing a remote CRUD action.

JsonWriterDataWriterを拡張します。 DataWriterドキュメントから -

Ext.data.DataWriter facilitates create, update, and destroy actions between an Ext.data.Store and a server-side framework. A Writer enabled Store will automatically manage the Ajax requests to perform CRUD actions on a Store.

私はいないことを確認、この周りにあなたのハイレベルの設計/意図があるが、この場合には、多分あなたは、店からレコードを取得し、それらを修正し、店に戻ってそれらをコミットすることができますでしょうか? (すべてのCRUD操作は店舗で直接行うことができます)

+0

しかし、私はバックエンドプログラマからクエリ設計上の問題があります。彼らはサーバーから十分な速さで答えることができませんでした。したがって、出力グリッドのページネーションは、1つの(しかし長い)リクエストですべてのテイクデータから作成する必要があります。 ExtJsには、このようなプリプロセスの解決策はありますか?または、配列のようなローカルメモリの記憶域を作成する必要はありませんか? – lazycommit

+0

*書き込み可能なメモリストアを持つ私の意図は、プライベートプロパティを使用するため、http://stackoverflow.com/a/5709096/476074に記載されている回避策を避けることです。 – AndreKR

関連する問題