H사의 AD와 OTP 인증을 처리하면서 기존 당사의 포탈의 로그인시스템에 연동을 할 일이 있었다.
자바스크립트에서 login 버튼을 누르면 function login에서 AD와 OTP의 연동 / 성공시 login을 시도하는
로직을 짜면서 ajax 요청 후에 성공하면 그 result값을 function login에서 다시 if문의 검증결과를 변수로 확인 하기 위해서 success시 result 값을 남기는 방법에 대해서 알고싶어서 찾아본 결과,
1. async : false 를 통해서 비동기통신을 동기통신으로 바꿔준다.
=> 동기적이다 : 비동기적이다 (인증의 일처리는 항상 동기적이다. A로직이 완료된 후에 B로직이 처리되야 하는경우)
AD로 예를들어서 , AD의 인증값이 true가 나왔을 경우 로그인을 한다. 와 같이 동기적인 처리가 더 맞을경우
async : false로 수정을 해준다.
2. return result; 의 위치는 $.ajax({ }); 이 뒤에 들어간다.
3. success: function(data){
if(data.aCode==0){
result="success";
}
}
aCode는 인증을 성공했을경우 , 자바단에서 resultMap.put("aCode","0"); 등으로 바꿔주면 된다.
결론은, 자바스크립트와 ajax요청을 통한 java단의 메서드처리를 할때
메서드와 그 return값을 잘 생각하면서 코드를 짜면 간단한 로직처리는 자바스크립트에서 자바단(혹은 DB)를 거치지 않고 깔끔한 처리가 가능하다.
'개발 > JS' 카테고리의 다른 글
[JS] Object와 String의 관계 (0) | 2020.12.29 |
---|---|
[JS] 7가지 내장 타입 (0) | 2020.09.02 |