본문 바로가기
웹 코딩/JS + jQuery

ajax 처리 후 로딩중 감추는 타이밍

by 알릭2 2020. 8. 2.

ajax에 로고가 있었다니?!!

 

$.ajax({
	cache: ...,
	type: "POST",
	url: "...",
	data: {...},
	success: function (data) {
		...
	},
	error: function() {
		...
	},
	complete: hideLoading
});

(jQuery를 쓴다고 치고.. )보통 위처럼 ajax 호출을 하게 되는데... (물론 .done() 이나 .fail() 로 연계해서 쓸 수도 있고..)

 

아무튼, 일반적으로 ajax 호출 직전에 로딩중을 보여주고... success 와 error 에 로딩중 감춤을 넣어서 써왔으나, 이번에 ajax로 파일 다운로드 하는걸 하다보니 서버에서 파일이 아직 안왔는데 로딩이 빨리 사라지더이다

 

그래서 고민하다 complete: 에 hideLoading (=밖에 따로 짜둔 로딩중 감추는 함수) 을 걸었더니 파일 다운로드가 시작하는 타이밍에 딱 맞춰서 로딩중이 사라지네

 

다운로드 뿐만 아니라 success에서 처리하는 양이 많아 브라우저로 렌더링 되는게 좀 오래 걸리는 때에도 유용한 듯

 

error고 success고 따로 처리할 필요도 없고 간편하네... 이제는 늘 여기다 넣겠음!

(done() 이나 .fail()로 쓰는 경우는 .always() 를 쓰면 됨)

댓글