반응형
[javascript] 동기 Ajax 프로그래스바_ loading bar for sync ajax
[javascript] 동기 Ajax loading bar_ progress bar for sync ajax
Ajax에서 async 즉, 동기/비동기를 적용하는 옵션이 있다.
async를 true로 주면 비동기, false를 주면 동기로 작동한다.
ajax에서 async를 false로 적용하게되면, ajax가 완벽하게 실행하는동안 자바스크립트 동작이 안되기 때문에 적용해두었던 로딩바 또는 프로그레스바가 작동하지 않게된다.
■ 해결방법
$('#loading').show();
let param = {'test': 'value'};
setTimeout(function() {
$.ajax({
url : 'URL',
type : 'POST',
data : JSON.stringify(param),
async: false,
success : function(data) {
$('#loading').hide();
},
error : function() {
$('#loading').hide();
alert('ERROR');
}
});
}, 0); // End setTimeout(function()
로딩바 show()
setTimeout(function() {
ajax 작성( async : false )
로딩바 hide()
}, 0);
-> setTimeout(function() { }, 0); 으로 동기 ajax를 감싸주면 처리된다.
반응형
'웹 개발' 카테고리의 다른 글
[Javascript] base64 이미지 업로드 _ base64 to File 객체 (2) | 2022.06.10 |
---|---|
[CORS] 로컬 통신간의 CORS 해결 및 Cross-Origin Resource Sharing은 무엇일까? (0) | 2022.05.17 |
[네이버 지도 api (4)] 주소를 검색해서 지도 이동하기 Geocoding 좌표변환 (14) | 2022.04.27 |
sessionStorage vs 전역변수 & Ajax 동기 통신 (0) | 2022.04.26 |
[datatable] <tr>, <td>에 속성/스타일 추가하기 (0) | 2022.04.13 |
댓글