Cute Happy Ghost
본문 바로가기
Front/Javascript·Jquery

jQuery.ajax() 중복요청 처리 방지하기

by JENN_tech7 2022. 8. 16.
728x90
SMALL

한번만 호출되야하는 ajax가 계속해서 중복요청될 때 방지하는 방법

나는 주로 두가지를 쓴다

 

 

  • 변수 처리
    • ajax 가 완료되기 전에 다시 클릭하였을 때 해당 요청 진행을 막는 코드
      상태 변수를 만들어 전송 유무에 따라 Ajax 요청을 하거나 차단한다.

 

var isRun = false;

function abcde() {
    
    if(isRun == true) {
        return;
    }
    
    isRun = true;
    
    $.ajax({
 
        ...
 
    }, success : function(datas) {
        
        isRun  = false;
 
        ...
 
    });
}

 

 

  • async
    • ajax 세팅 옵션에 async : false를 추가한다. (동기 처리)
      동기로 처리하게되면 버튼을 눌러 request 요청을 날렸을 때 response 요청이 올 때까지 다른 request 요청은 받지 않게 되어 중복호출을 방지한다. 

 

async : false;

 

출처: https://coding-restaurant.tistory.com/227 [코딩맛집:티스토리]

728x90
LIST

댓글