javascript에서 전역 변수가 undefined로 나오는 이유

easyliving·2023년 2월 5일

ERROR 저장소

목록 보기
2/10

javascript에서 전역 변수가 undefined로 나오는 이유

이 경우 script쪽 구문이 한번 먼저 읽고 내려오기 때문에, 전역변수 id가 undefined로 정의 되어있다.
클라이언트가 아직 값을 입력하기 전임으로
따라서 function내에서도 id를 undefined로 인식하고 값을 가져오지 못하는 것이다.
script에서는 전역변수 사용을 주의해야한다.


var chekcFlag=false;
var id=$("#id").val()
      function checkIdBtn(){
    	  alert(chekcFlag);
    	  alert(id);
    	  $.ajax({
    		type:"post",
    	  	url:"memberIdCheck.do",
    	  	data:{"id":$("#id").val()}, 
    	  	dataType:"json",
    	  	success:function(data){
    	  	/*생략*/
    	  	},
    	  	error:function(){
    	  	/*생략*/
    	  	}
    	  })//ajax
      }//checkIdBtn()
      

<input type="text" name="id" id="id">

수정

	data:{"id":$("#id").val()} 이런식으로 직접 넣어줘야한다.
function checkIdBtn(){
    	  $.ajax({
    		type:"post",
    	  	url:"memberIdCheck.do",
    	  	data:{"id":$("#id").val()}, //전역변수 쓰면 오류남 - javascript는 한번 쭉 먼저 돌기 때문
    	  	async:false,
    	  	dataType:"json",
    	  	success:function(data){
                	  	/*생략*/
    	  	},
    	  	error:function(){
    	  	/*생략*/
    	  	}
    	  })//ajax
      }//checkIdBtn()
      

<input type="text" name="id" id="id">

javascript에서 전역 변수가 undefined로 나오는 이유

profile
가끔져요

0개의 댓글