2

ストアなしで ExtJS のリーダー、ライター、リクエストなどのクラスの力を利用する方法はありますか? 一般的な Ajax リクエストのように? アプリケーションのサーバー応答で使用する「データ構造」を受け入れ、グローバル スケールで関数を実行できるリーダーを定義する機能が必要です。たとえば、サーバーでエラーが発生した場合に、リーダーが解釈してエラー メッセージを含むウィンドウ ダイアログを作成する特定のアプリケーション コードが存在する可能性があります。

4

1 に答える 1

1

Reader と Writer は実際には Proxies の構成であり、Ajax バージョンがあります。プロキシを使用するためにストアを用意する必要はありません。ストアがなくても「手動で」プロキシを使用できます。

ストアは、モデルをサーバー/ローカル ストレージからロードされた一連のレコードとリンクするために使用されます。また、グリッド、ツリー、データビューなどでも頻繁に使用されます。

質問の 2 番目の部分については、選択したサーバー通信のタイプ (Ajax/Rest/Direct) に関係なく、サーバーから例外をキャッチする方法があります。一部の人にとっては、他の人よりも少しトリッキーです ( Ajax で考えられる問題については、このスレッドを参照してください)。ただし、ExtJS ライブラリ コードを少し詳しく調べれば、これらはすべてかなり簡単に解決できます。私の場合、私は直接を使用しており、次のようなもの( application 内launch())はほとんどすべてのサーバーの問題をキャッチします(サーバーが例外をスローすることを確認する必要があるだけです):

    Ext.direct.Manager.on('exception', function(e, provide, eOpts) {
        Ext.MessageBox.alert('Server Error', e.message);
    });

AJAX で同様のことを行うには、次のものが必要です。

Ext.Ajax.on('requestcomplete', function( iConn, iResponse, iOptions, ieOpts ){
    // do something with iResponse here    
});
于 2012-08-05T21:41:13.293 に答える