ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트 사업자등록번호 조회하기 ajax done
    Web Programming 2023. 2. 10. 22:53
    728x90
    반응형
    					<tr>
                            <th>사업자 등록번호</th>
    						<td class="left">
    									<input type="text" name="saupNum1" id="saupNum1" value="" numberOnly title="시업자 등록번호" maxlength='3'/> 
    									<input type="text" name="saupNum2" id="saupNum2" value="" numberOnly title="시업자 등록번호" maxlength='2'/> 
    									<input type="text" name="saupNum3" id="saupNum3" value="" numberOnly title="시업자 등록번호" maxlength='5'/>
    									<input type="hidden" name="saupNumCheck" id="saupNumCheck" value="N" />
    									<button type="button" onclick="javascript:saupjaNumCheck();" class="button01">사업자 등록번호 인증 체크</button>
    						</td>
    					</tr>

    사업자등록번호 체크 - 공공데이터 포털 api 이용

    // 사업자 번호 체크
    			var saupNum = "";
    			function saupjaNumCheck(){
    			
    				saupNum = $('#saupNum1').val()+$('#saupNum2').val()+$('#saupNum3').val();
    				
    			var data = {
    				    "b_no": [saupNum] // 사업자번호 "xxxxxxx" 로 조회 시, - 없어야함
    				   }; 
    				
    				var saupNumCheck = $('#saupNum1').val()+"-"+$('#saupNum2').val()+"-"+$('#saupNum3').val();
    				
    				$.ajax({
    					type : "POST",
    					url : "<c:url value='/dbChekcFirstUrl.do'/>",
    					data : {
    						'saupNumCheck' : saupNumCheck
    					},
    					success : function(data) {
    						if(data >= 1){	
    							alert("이미 등록된 사업자 등록 번호입니다. 회원가입 여부 확인 바랍니다.");
    							$('#saupNumCheck').val("N");
    						}else if(data == 0){	
    							$('#saupNumCheck').val("Y");
    						}
    					},
    					error:function(request,status,error){
    						alert("시스템상 오류입니다. 관리자에 문의해주세요.");
    						$('#saupNumCheck').val("N");
    					}
    				}).done(function(){
    					
    					if($('#saupNumCheck').val() == 'Y'){
    				   
    				$.ajax({
    				  url: "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=서비스키!!!!",  // serviceKey 값을 xxxxxx에 입력
    				  type: "POST",
    				  data: JSON.stringify(data), // json 을 string으로 변환하여 전송
    				  dataType: "JSON",
    				  contentType: "application/json",
    				  accept: "application/json",
    				  success: function(result) {
    				      	
    				      	if(result.data[0].b_stt_cd == ""){
    				      		alert("국세청에 등록되지 않은 사업자등록번호입니다. 입력한 번호 재확인 바랍니다.");
    				      		$('#saupNumCheck').val("N");
    				      	}else if(result.data[0].b_stt_cd == "02"){
    				      		alert("국세청에 휴업자로 등록되어 있습니다. 입력한 번호 재확인 바랍니다.");
    				      		$('#saupNumCheck').val("N");
    				      	}else if(result.data[0].b_stt_cd == "03"){
    				      		alert("국세청에 폐업자로 등록되어 있습니다. 입력한 번호 재확인 바랍니다.");
    				      		$('#saupNumCheck').val("N");
    				      	}else if(result.data[0].b_stt_cd == "01"){
                  			
                  			var resultNum = result.data[0].b_no;
                  			
                  			if(resultNum != "" && saupNum == resultNum){
                  				alert("인증된 사업자 등록 번호입니다. 회원가입을 계속 진행해 주세요.");
                  				$('#saupNumCheck').val("Y");
                  				}
    				      	}
    				  },
    				  error: function(result) {
    				      alert("인증되지 않은 사업자 등록 번호입니다. 재확인 바랍니다.");
    				      $('#saupNumCheck').val("N");
    				  }
    				});
    					
    					} 
    				})
    			}

    공공데이터 api 호출 전에 데이터에 등록하려는 사업자번호가 있는지 dbChekcFirstUrl.do 로 먼저 검증 후

    중복된 게 없으면 api 호출 !

    무조건 등록 전에 검증이 필요했기에 ajax를 두번사용했어야 했고

    두번 사용하기 위해서 ajax done 을 사용 !!

    만약 ajax 두번 사용하려고 ajax , ajax 사용하면 무한 반복에 빠질 수 있음. 절대 사용 X

    $('#saupNumCheck').val("N"); 처럼 input에 hiddne 값 변화를 줘서 상황에 따라 체크 !!

    공공데이터 api 링크 : 공공데이터포털 (data.go.kr)

    728x90
    반응형
Designed by Tistory.