Spring

(쪽지기능)Ajax통신을 통하여 받는이가 유효한 멤버인지 확인하는 법

프린이0218 2020. 8. 12. 01:54
<!-- 쪽지 보낼 때 받는 이메일이 멤버목록에 있는 지 조회하는 쿼리문(결과값이 0 일때 없는 멤버임) -->
	<select id='searchmember' resultType="integer">
		select count(*) from MANAGE_MEMBER where MEMBER_EMAIL = #{targetid}
	</select>

 

<script type="text/javascript">
   $('#check_id').click(function(){
		//var id = $('.receiver').val(); => 받는 사람의 이메일을 가져옴.
		
		$.ajax({
		    url:'check', //컨트롤러에 접근하는 url
		    type:'get', // 메소드(get, post, put 등)
		    data:{'id':id}, //보낼 데이터('키','값')
		    success: function(result) {
				//alert('아작스 통신성공');
				if(result==1){	//ajax 통신을 통해 멤버가 있으면 결과값은 1 이상 정수형으로 가져온다
					$('form').submit();	//유효 멤버인지 확인한 후 DB에 쪽지 삽입 후 화면 전횐
					 alert("정상적으로 전송되었습니다!");
				}else{//0이면 select count가 0 을 의미 즉,해당되는 멤버가 없기 때문에 유효하 지않다.
					alert("유효한 멤버가 아닙니다! 이메일을 확인해 주세요");
				}
		    },
		    error: function() {
				alert('아작스 통신실패');
		    }
		});

		
	 });
</script>

1.쪽지 보내기 버튼을 누르면 ajax통신을 시작하게 됨.

 

@Controller
public class LetterController {
	@Inject
	MessageServiceImpl service;
	@Autowired
	MessageDAOImpl daoim;
	@Autowired
	private LetterPage page;

	
	@RequestMapping("/check") @ResponseBody
	public int checkMember(@RequestParam("id") String id,Model model){
		System.out.println("check매핑에서의 id값 => "+id);
		
		int result = service.checkId(id);
		System.out.println("서비스임플후 => "+result);
		return result;
		
	}
}

2. Ajax로 전달받으면 id를 service.checkId(id)를 통하여 service로 보냄

 

 

@Override
		public int checkId(String id) {
			int resultId = sqlSession.selectOne("message.searchmember", id);
			return resultId;
		}

3.앞에서 전달받은 id를 sql mapper로 보내서 값을 전달받음 

 

<!-- 쪽지 보낼 때 받는 이메일이 멤버목록에 있는 지 조회하는 쿼리문(결과값이 0 일때 없는 멤버임) -->
	<select id='searchmember' resultType="integer">
		select count(*) from MANAGE_MEMBER where MEMBER_EMAIL = #{id}
	</select>

4. 받는 사람 메일이 DB멤버테이블에 있는지 조회,해당되는 멤버 이메일이 있으면 1을 반환, 없으면 0을 반환 

 

<script type="text/javascript">
   $('#check_id').click(function(){
		//var id = $('.receiver').val(); => 받는 사람의 이메일을 가져옴.
		
		$.ajax({
		    url:'check', //컨트롤러에 접근하는 url
		    type:'get', // 메소드(get, post, put 등)
		    data:{'id':id}, //보낼 데이터('키','값')
		    success: function(result) {
				//alert('아작스 통신성공');
				if(result==1){	//ajax 통신을 통해 멤버가 있으면 결과값은 1 이상 정수형으로 가져온다
					$('form').submit();	//유효 멤버인지 확인한 후 DB에 쪽지 삽입 후 화면 전횐
					 alert("정상적으로 전송되었습니다!");
				}else{//0이면 select count가 0 을 의미 즉,해당되는 멤버가 없기 때문에 유효하 지않다.
					alert("유효한 멤버가 아닙니다! 이메일을 확인해 주세요");
				}
		    },
		    error: function() {
				alert('아작스 통신실패');
		    }
		});

		
	 });
</script>

5. 값을 반환받은 Ajax에서는 result 가 1 즉, 유요한 멤버이면 form을 submit 하고 그렇지 않으면 Alert()창으로 사용자 한테 알림.