2007年6月27日水曜日

EXTJS フォームでのsubmit後にサーバからのレスポンスを取得する

EXTJSを利用して、フォームでsubmitをした後サーバで何かしらの処理を行いその結果をクライアント(ブラウザ)に返し、ダイアログで処理結果を表示するということを実現するにはどうしたらよいかを調べてみた。
調査対象は
  1. 処理結果(成功/エラー)の形式(できればXMLで渡したい)
  2. 成功/エラー時の処理(関数)をクライアントで実装するには

参考
参考記事によると、new Ext.form.Form()でreaderオプションと、errorReaderオプションを指定している。これらのプロパティの意味は・・・、
 
errorReader: to be used to read data when reading validation errors on "submit" actions.

例えばsubmit後に処理に成功したことを意味する以下のようなXMLが返ってくるとすると

failure
エラーメッセージ

new Ext.form.Form({
.....
reader: new Ext.data.XmlReader({
record: 'Message',
success: 'Result'
}),
errorReader: new Ext.data.XmlReader({
record: 'Message',
success: 'Result',
}),
....
});