この種の質問に対する多くの回答を確認しましたが、今では最善の方法について混乱しています。最新のjqueryを考えると、私はしたいです
- ajax 関数を呼び出す
- ajax 処理を行う (成功またはエラー) // 正常に動作する
- 成功またはエラーの場合、さらなる処理のために呼び出し元の関数にステータスを返します
呼び出し関数 (doAjax) で、コールバックを待ってから、成功またはエラーの処理を完了するにはどうすればよいですか (この場合、成功した場合はフォームをクリアし、エラーの場合はそのままにしておきます)
アドバイスがあればthx、
アート [編集] お気づきのようにタイプミスがありました。呼び出しは doAjax ではなく doAnAjax にする必要がありました
$(function () {
doAnAjax(Url, data, function (myRtn) {
if (myRtn == "success") {
resetForm($('#myForm'));
resetForm($('form[name=addChlGrp]'));
} else {
$('.rtnMsg').html("Opps! Ajax Error");
}
});
});
function doAnAjax(newUrl, data) {
$.ajax({
url: newUrl,
async: true,
dataType: 'html',
beforeSend: function () {
$('.rtnMsg').html("<img src=_cssStyleImg_-A-loading.gif>");
},
type: "GET",
data: data,
cache: false,
success: function (data, textStatus, xhr) {
$('.rtnMsg').html(data);
myRtnA = "Success"
return myRtnA;
},
error: function (xhr, textStatus, errorThrown) {
$('.rtnMsg').html("opps: " + textStatus + " : " + errorThrown);
myRtnA = "Error"
return myRtnA;
}
});
}