본문 바로가기

JSP

AJAX (1) - 사용법

AJAX(에이잭스)
     Asynchronous Javascript And XML(비동기식 자바스크립트 & XML)
     웹페이지(브라우저)의 갱신 없이 화면 상의 요소를 다룰 수 있는 자바스크립트 라이브러리이자 기술의 이름
     데이터베이스 등의 작업 요청시에도 요청된 응답이 돌아올 때까지 기다리지 않고
        다른 작업을 수행하면서 요청에 대한 응답이 돌아오면 처리가 가능
     주로, 아이디 또는 패스워드 등의 검증 등에 사용 가능

< 기본 문법 >
$.ajax();

 

test1.jsp

	// btnOk 버튼에 대한 이벤트 처리
	$(function() {
		$('#btnOk').on('click', function() {
			$.ajax({
				type: "post", // 요청방식(GET or POST) 지정
				url: "test1_result.js", // 요청 URL 지정
				data: { // 전송할 데이터 지정
					// 폼 데이터를 가져와서 파라미터로 포함하는 경우
					// 파라미터명: 데이터 형식으로 지정
					id: $('#id').val(), // id 선택자의 값(value 속성값) 가져와서 id 라는 파라미터로 저장
					passwd: $('#passwd').val() // passwd 선택자의 값(value 속성값) 가져와서 passwd 라는 파라미터로 저장
				},
				dataType: 'text', // 전송하는 데이터에 대한 타입 지정
				success: function(response) { // 요청에 대한 처리가 성공했을 경우
					// resultArea 선택자 영역에 처리하는 페이지(test1_result.jsp)로부터 전달받은 응답 데이터(response) 출력 
					$('#resultArea').html(response);
				},
				error: function(xhr, textStatus, errorThrown) { // 요청에 대한 처리가 실패했을 경우(요청 에러 발생 시)
					$('#resultArea').html('xhr = ' + xhr + '<br>' + 'textStatus = ' + textStatus + '<br>' + 'errorThrwn = ' + errorThrown);
					
				}
			});
		});
    });
</script>
</head>
<body>
<h1>학생 정보 입력</h1>
	<h1>로그인</h1>
	<form action="" method="post">
		<table>
			<tr>
				<td>아이디</td>
				<td><input type="text" name="id" id="id" required="required" size="20"></td>
			</tr>
			<tr>
				<td>패스워드</td>
				<td><input type="password" name="passwd" id="passwd" required="required" size="20"></td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<input type="button" value="확인" id="btnOk">
				</td>
			</tr>
		</table>
		<div id="resultArea"><!-- AJAX 처리 결과 출력될 위치 --></div>
	</form>
</body>
</html>

 

test1_result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- test1.jsp 페이지에서 AJAX 를 통해 요청한 작업에 대한 응답 결과를 생성하는 페이지 -->
	<h1>AJAX - test1_result.jsp</h1>
	<!-- test1.jsp 페이지로부터 AJAX 를 통해 전달받은 파라미터(id, passwd) 출력 -->
	<h3>아이디 : ${param.id }</h3>
	<h3>패스워드 : ${param.passwd }</h3>
</body>
</html>

 

출력결과

 

 

버튼클릭 전
버튼클릭 후

 

현재 진행하고 있는 팀프로젝트에서 아이디,비밀번호 중복 및 패턴 확인이나

장바구니에 상품 추가, 위시리스트 추가 등에 사용하면 좋을것 같다!

'JSP' 카테고리의 다른 글

AJAX (3) - error 처리  (0) 2022.03.09
AJAX (2) - form 데이터를 한번에 옮기기  (0) 2022.03.09
JQuery (on 이벤트2)  (0) 2022.03.04
JQuery (on 이벤트)  (0) 2022.03.04
JQuery (sumit() 함수)  (0) 2022.03.04