원래 ajax는 비동기 호출에 많이 사용합니다.
그러다 보니 ajax뒤에 기록된 javascript가 ajax응답이 아직 오지 않았는데 실행되는 경우도 발생 됩니다. (DB에 접속할 경우에 DB 접근이 느리다면...)
저같은 경우는 회원가입시 아이디 중복 체크를 위해서 ajax를 호출하였는데 바로 다음 입력값 체크로 넘어가서 문제가 발생하였습니다.
비동기 방식의 ajax를 동기 방식으로 사용하기 위해 (async: false)를 추가해 주면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $.ajax({ url : "/user/signUp/checkId", dataType : "text", type : "post", data : {id:"husk"}, async: false, //동기: false, 비동기: ture success: function(data) { if(data=="N"){ alert("이미 등록된 아이디가 존재합니다."); returnValue = false; }else{ returnValue = true; } }, error:function(request,status,error){ alert("code:"+request.status+"\n"+"error:"+error); } }); |
ckeditor 제작물 삽입 (0) | 2014.12.15 |
---|---|
Don't know how to iterate over supplied "items" in <forEach> (0) | 2014.12.15 |
jQuery 노드를 변수에 넣는 방식 VS 호출하는 방식 (0) | 2014.11.11 |
JSP 회원가입 폼 (영문, 한글, 숫자만 입력, validation 체크, textarea 리사이즈 고정) (3) | 2014.11.11 |
jquery url 정보 확인 (javascript) (0) | 2014.11.07 |
댓글 영역