웹/JSP

JSP Ajax GET 방식과 POST 방식

푸코잇 2023. 6. 24. 20:03

이전 포스팅에서 JSP Ajax 이론에 대해 알아봤다.

이번에는 GET 방식과 POST 방식에 대해 알아보자.

 

Ajax GET 방식

 

  • ajax_get.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax GET 방식의 요청</title>
</head>
<body>
	<h1>Ajax GET 방식의 요청</h1>
	<button onclick="sendRequest()">GET 방식으로 요청 보내기!</button>
	<p id="text"></p>
</body>
<script>
	function sendRequest(){
		var xhr = new XMLHttpRequest();
		xhr.open("GET", "request_ajax.jsp?city=Seoul&zipcode=45645", true);
		xhr.send();
		
		/* readyState 프로퍼티 변경될때마다 실행 됨. */
		xhr.onreadystatechange = function(){
			/* 응답 완료 및 성공 */
			if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200){
				/* 응답받은 값을 설정하기 */
				document.getElementById("text").innerHTML = xhr.responseText;
			}
		}
	}
</script>
</html>

 

  • request_ajax.jsp
<%
	out.print(request.getParameter("city"));
	out.print(request.getParameter("zipcode"));
%>

 

  • 실행결과

Ajax GET 방식 요청 전
Ajax GET 방식 요청 후

Ajax GET 방식 요청 후 페이지를 보면 뒤로 가기 버튼이 활성화되지 않은걸 볼 수 있다.

이를 통해 페이지 이동 없이 서버에 요청한 응답을 받아 처리한 걸 알 수 있다.

 


Ajax POST 방식

 

  • ajax_post.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax POST 방식의 요청</title>
</head>
<body>
	<h1>Ajax POST 방식의 요청</h1>
	<button onclick="sendRequest()">POST 방식으로 요청 보내기!</button>
	<p id="text"></p>
</body>
<script>
	function sendRequest(){
		var xhr = new XMLHttpRequest();
		
		xhr.open("POST", "request_ajax.jsp", true);
		/* POST 방식으로 전달할 데이터의 방식(타입) 설정 */
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("city=Seoul&zipcode=54645");
		
		xhr.onreadystatechange = function(){
			if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200){
				document.getElementById("text").innerHTML = xhr.responseText;
			}
		}
	}
</script>
</html>

 

  • request_ajax.jsp
<%
	out.print(request.getParameter("city"));
	out.print(request.getParameter("zipcode"));
%>

 

  • 실행결과

Ajax POST 방식 요청 전
Ajax POST 방식 요청 후

 

Ajax POST 방식은 GET 방식과 다르게 전달할 데이터의 방식(타입)을 설정해줘야 한다.

setRequestHeader 메서드를 이용하여 설정할 수 있다.

오늘 배운 Ajax는 회원가입 시 아이디가 이미 존재하는지 체크 같은 경우에 자주 사용된다.

페이지를 이동하지 않고 비동기적으로 서버에 요청할 수 있다는걸 꼭 기억해 두자!!

' > JSP' 카테고리의 다른 글

JSP 세션(Session)이란?  (0) 2023.07.25
JSP 쿠키(Cookie) 생성, 수정, 삭제 방법  (0) 2023.06.27
JSP Ajax(Asynchronus Javascript and XML)란?  (0) 2023.06.08
JSP GET 방식과 POST 방식 차이  (0) 2023.06.07
JSP 내장 객체  (0) 2023.06.06