Ajax 通信時の前処理・後処理を実装できます。
PRAjax を継承し、before() をオーバーライドして前処理を、after() をオーバーライドして後処理を記述します。
before() への引数は、onSubmit() の第2引数、onClick() の第4引数、send() の第2引数で指定します。
return false することで Ajax 送信を中止することができます。
サンプルでは入力チェックが NG の場合にエラーメッセージを出力して送信が中止されます。
また引数を元に確認メッセージを出力し、「キャンセル」であれば送信を中止します。
after() の引数 data からレスポンスデータを取得することができます。
サンプルではレスポンスデータ全体の文字列や、一部の要素の値を出力しています。
また第4引数はサーバ側から命令ワード "confirm" が使用された場合の選択結果が設定されます。
class MyAjax extends PRAjax{
before(args){
var msg = "";
if(!$("#id_inputText1").val()) msg = msg + "inputText1を入力してください。\n";
if(msg){
alert(msg);
return false;
}
var confirm = window.confirm(args);
if(!confirm) return false;
}
after(data, textStatus, jqXHR, confirm){
alert(JSON.stringify(data.vals));
alert(data.vals.radio);
}
}
var ajax = new MyAjax();
ajax.onSubmit("#id_form1", "入力された内容で送信します。よろしいですか?");