for 문으로 ajax 여러 번 호출, 모든 호출이 끝난 후 처리
var precessData = [];
var processCount = 0;
precessData.push(1);
precessData.push(2);
precessData.push(3);
var processCount = precessData.length;
var areaResult = document.getElementById('areaResult');
for (var i = 0; i < precessData.length; i++) {
callAjax(precessData[i]);
}
function callAjax(data) {
$.ajax({
type: 'POST',
url: '호출URL',
data: JSON.stringify({ data: data }),
dataType: 'json',
contentType: 'application/json; characterset=utf-8',
}).done(function (data) {
areaResult.innerHTML += '<p>done '+data+'</p>';
}).fail(function (err) {
areaResult.innerHTML += '<p>fail '+data+'</p>'; // 현재 url이 정상적이지 않으므로 무조건 fail
}).always(function () {
processCount--;
areaResult.innerHTML += '<p>always '+processCount+'</p>';
// 모든 ajax 호출이 완료되면 마지막으로 처리
if (processCount == 0) {
// 처리할 내용
areaResult.innerHTML += '<p>모든 작업이 처리되었습니다.</p>';
}
});
}
결과 화면
해당 내용 jsfiddle로 확인 [새창]
'냐냐한 IT > 냐냐한 JavaScript' 카테고리의 다른 글
JavaScript - 숫자 -> 전화번호로 형식으로 변환 (000-0000-0000) (0) | 2022.12.18 |
---|---|
Layer를 화면 중간에 표시 (0) | 2020.03.22 |
JavaScript - CheckBox 전체 선택/해제 (0) | 2019.11.26 |
javascript 이벤트 취소(unbind) (0) | 2019.11.07 |
javascript(jquery)로 table 행 병합(rowspan) (0) | 2019.11.01 |