본문 바로가기

코딩도 합니다/JS

[자바스크립트 / js] alert 중복 실행 시 해결 방법 / ajax 중복 실행 시 해결 방법



안녕하세요.

디자인도 하고, 개발도 하는 '디발자 뚝딱'입니다.

 

이번 포스팅에서는 자바스크립트/제이쿼리로 작업 중에 유용하게 사용되는

alert 중복 실행 방지하는 방법에 대해 공유하겠습니다.

 

  alert 중복 실행 시 해결 방법

.off() 사용하기

$("#saveOrder").off('click').click(function(){
	if (data.responseJSON.data.length === 0) {
		alert('순서 저장할 영상이 없습니다. 영상을 등록해 주세요.')
	} else {
		console.log('순서 저장!!!')
		table.page.len(-1).draw()
		let ROW = $('#tblList tbody tr')
        console.log('ROW', ROW);
		let rowData = []
        ROW.map((item, index) => {
		console.log('item', item);
        rowData.push({
			index: item,
			SEQ: index.classList[0]
		})
	})									
});

 

 

 

 

  ajax 중복 실행 시 해결 방법

1. 아래 코드를 ajax 바깥 위쪽에 입력해 주세요.

// ajax 중복 방지
$(document).ajaxStart(function(e) {
	window.ajaxCheck = 1;								
});					
$(document).ajaxStop(function(e) { 								
	window.ajaxCheck = null; 								
});

 

 

2. ajax의 complete 혹은 success 안에 아래 코드를 입력합니다.

// ajax 중복 방지					
if( window.ajaxCheck == 1 ) return false;

 

 

3. 사용 예시를 보여드릴게요!

// ajax 중복 방지
$(document).ajaxStart(function(e) {
	window.ajaxCheck = 1;								
});					
$(document).ajaxStop(function(e) { 								
	window.ajaxCheck = null; 								
});


// 1. 지난 차수 목록
table2 = $('#tblList2').DataTable({
	ajax: {
		url: YOUR API URL,
		type: "GET",
		dataType: "JSON",
        complete: function (data) {
			// ajax 중복 방지					
			if( window.ajaxCheck == 1 ) return false;
        }
    }
})
728x90