ajax通信 プログラミング¶
intra-mart Accel Kaiden! では簡単にajax通信が行るような機構を用意しています。ここでは基本的なajax通信の方法を説明します。
ajax通信の基本¶
簡単なajax通信のコーディングを示します。
サーバーActionクラスを作成し、「jp.co.slcs.kaiden2.base.foundation.model.dto.LogicResultDto」をJSONに変換したものを返却してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import jp.co.slcs.kaiden2.base.foundation.model.dto.LogicResultDto; import jp.co.slcs.kaiden2.base.foundation.util.ResponseWriter; import jp.co.slcs.kaiden2.base.foundation.conf.LogicResultStatus; import net.arnx.jsonic.JSON; @Execute(validator = false) public String index() { /**~略~**/ LogicResultDto result = new LogicResultDto(); result.data = "クライアントへの返却データ"; result.status = LogicResultStatus.SUCCESS.getName(); //成功ステータス result.message = "処理が成功しました。"; ResponseWriter.writeJSon(JSON.encode(result)); return null; }
- クライアント
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 var ajax = KAIDEN.Ajax(); //ajaxライブラリの呼び出し var criteria = {}; //サーバーに送信する値 //ajax実行(POST通信) ajax.postAuto("/*URL*/" , criteria , function(returnData) { //正常時の処理 } , function(returnData) { //エラー時の処理 } , function(returnData) { //ワーニング時の処理 } );ajax通信が終了すると
- LogicResultDto.statusの内容に応じて、自動的にメッセージを表示します。※メッセージが設定されている場合のみ
- “success”の場合、imuiShowSuccessMessage()を利用して成功メッセージを表示
- “fail”の場合、imuiShowErrorMessage()を利用してエラーメッセージを表示
- “warn”の場合、imuiShowWarningMessage()を利用してワーニングメッセージを表示
LogicResultDto.statusの内容に応じて、それぞれメソッドを呼び出します。この時、引数には LogicResultDto.dataで設定した値が渡されます。ノート
ajax.postAuto()の、正常時・エラー時・ワーニング時の処理が不要で、サーバーに値を送信する必要がなければ、ajax.postAuto(“/*URL*/”); だけで実行できます。ノート
GET通信を行う場合には、ajax.getAuto()で同様の処理が行えます。
ajax通信を細かく制御する¶
メッセージ表示、その他の挙動など細かく制御したい場合には、以下のメソッドが便利です。
- post();
- get();
両メソッドとも $.ajax()を返却しますので、プログラマが細かく制御することができます。