0

グリッドが AJAX プロキシ経由でロードされるとき、応答の「メッセージ」キーを使用して、例外のエラー メッセージまたは正常なロードのオプションの情報メッセージを渡します。例えば:

{ 
  results: 100, 
  success: true,
  rows: [ { ...data here... } ], 
  message: "Query took 2.2 milliseconds"
}

ExtJS 4.x と 5.0 を使用しているときに同様の質問をしたところ、プロキシのafterRequestイベントを使用して応答をのぞき、メッセージを抽出して表示することができました。

しかし、これは 5.1 で削除されており、6.0 では同等のものを見つけられないようです。非常によく似た質問を持つ人からのこの回答も見つけましたが、Ext.data.proxy.Ajax を拡張するという受け入れられた回答は 6.0 では機能しません。

私は何時間もこれに取り組んでおり、プロキシ、リーダー、ストア、およびグリッドの構成を突っついたり突っ込んだり、Google を検索したりしました。6.0 のドキュメントは、いつものように、イベントに関しては役に立ちません。

AJAX の読み込みが成功したときに発生する唯一のイベントは、Store の"load" イベントです。残念ながら、ストアは、少なくとも私が知る限り、プロキシが処理した JSON 応答にアクセスできません。コード:

var ResultsDataStore = Ext.create("Ext.data.Store", {
    listeners: {
        load: function() { console.log("storeload"); }
    },
    proxy: ...

どうすればよいですか:

(1) Store の load イベントから Response にアクセスする、または

(2) 応答で渡されたメッセージにアクセスできる他のイベントをリッスンしますか?

4

1 に答える 1