intra-mart Accel Kaiden! / プログラミングガイド

«  申請書ガジェットマスタデータ   ::   コンテンツ   ::   クライアントサイド プログラミング  »

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通信が終了すると

  1. LogicResultDto.statusの内容に応じて、自動的にメッセージを表示します。※メッセージが設定されている場合のみ
  • “success”の場合、imuiShowSuccessMessage()を利用して成功メッセージを表示
  • “fail”の場合、imuiShowErrorMessage()を利用してエラーメッセージを表示
  • “warn”の場合、imuiShowWarningMessage()を利用してワーニングメッセージを表示
  1. LogicResultDto.statusの内容に応じて、それぞれメソッドを呼び出します。
    この時、引数には LogicResultDto.dataで設定した値が渡されます。

ノート

ajax.postAuto()の、正常時・エラー時・ワーニング時の処理が不要で、サーバーに値を送信する必要がなければ、
ajax.postAuto(“/*URL*/”); だけで実行できます。

ノート

GET通信を行う場合には、ajax.getAuto()で同様の処理が行えます。

同期通信

同期通信を行う場合には、以下のメソッドを利用します。

  • postSyncAuto();
  • getSyncAuto();

ajax通信を細かく制御する

メッセージ表示、その他の挙動など細かく制御したい場合には、以下のメソッドが便利です。

  • post();
  • get();

両メソッドとも $.ajax()を返却しますので、プログラマが細かく制御することができます。

«  申請書ガジェットマスタデータ   ::   コンテンツ   ::   クライアントサイド プログラミング  »