IE11を使ってる人も多く、まだ変化が多いので、ECMA Scriptは使ってませんでしたが、Win7のサポート終了でIE11からEdgeへの移行もすすむと思いますので、最近、使い始めてみました。
まだ、Javaのクラスと同等な使い方出来なくて、とまどう部分も多いですが、コード量減らすことができて、重宝しております。
< 作ったコード例 >
あちこちに書いたAJaxの処理をクラスに入れてみました。
class MyAjax {
/**
* コンストラクタ
* @param {type} url URL
* @param {type} mapdata リクエストパラメータ
* @param {type} datatype 応答データタイプ (デフォルトはjson)
* @param {type} type リクエストメソッド (デフォルトはPOST)
* @param {type} cache キャッシュ (デフォルトはなし)
* @param {type} async 非同期 (デフォルトは同期)
* @returns {MyAjax}
*/
constructor(url, mapdata, datatype = "json", type = "POST", cache = false, async = false) {
this.url = url;
this.mapdata = mapdata;
this.datatype = datatype;
this.type = type;
this.cache = cache;
this.async = async;
}
// 実行 //
exec() {
let rtn;
$.ajax({
url: this.url,
type: this.type,
cache: this.cache,
dataType: this.datatype,
async: false,
data: this.mapdata,
success: function (jsnortxt) {
rtn = jsnortxt;
},
error: function (xhr, ts, err) {
rtn = "ERROR";
}
});
return rtn;
}
}
呼び出し側
// -C 検索
let aJax = new MyAjax("GetJPFromID", {tblid: tblid, mvtp: mvtp});
let katakata = [];
katakata = aJax.exec();