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()창으로 사용자 한테 알림.