ajax

2022. 12. 15. 17:00JSP

ajax_test.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>GET, POST 방식의 요청</title>
<!-- 애이잭스는 갈곳에 가서 할것다하고 다시 돌아온다 요청할
고 페이지는 화면상에서는 절대 이동되지 않는다.그래서 고 요청할 페이지에는
우리가 다시 도로 가져올 데이타만 있으면 된다 데이타를 그냥 가지고 오기만 하는것이다 
현재 페이지는 고대로 있고 가져온 데이타만 왔다가 넣었다가 뺏다가 한다 페이지이동이
되지않고 고 우리가 요청하는 페이지에 있는 데이타들만 빼오거나 거기에 데이타 넣거나
한다 페이지 이동이 없고 데이타만 빼오거나 넣는행위만 해서 페이지 이동은 없다 -->
</head>
<body>
	<h1>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);
		/*request_ajax.jsp에서는 받아만 주면된다.바디태그에만 작성해주면 된다*/
		/* xhr.open("GET", "request_ajax.jsp", true); *///두번째 인자는 어디로 갈래 어디로요청을 보낼래 라는 뜻 동기식으로 한다 true 지금은 여러개의연산이 있지않아서 동기식으로 해도 된다 ajax가 여러개가 동시에 돌아가지 않기 때문이다. 연산못할경우가 없을것이고 가벼워서 true로 줘도 무방하다
		xhr.send();
		
		xhr.onreadystatechange = function() {//실시간으로실행되는함수 상태가 변할때마다 얘가 실행된다. 애이잭스통신상태변할때마다실행된다
			//현재 애이잭스의통신상태변할때마다 실행된다.어만약에
			//스테이트가 바뀔때마다 어떤거 실행할래?
			if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
				document.getElementById("text").innerHTML = xhr.responseText;//request_ajax.jsp에서 끌어온 데이타들인 주소 CITY우편주소가 안으로 들어간다
			}
		}
	}//페이지 이동이 안된다. 뒤로가기 버튼도 비활성화되있다.
</script>
</html>

request_ajax.jsp

<%-- 여기는 사용자가 보는 페이지가 아니다 직접 에이잭스가 와서 필요한 데이타를 갖고 가는곳이다 
요 바디태그에 작성된 밑문서를 responseText로 가져오는 것이다 xhr.responseText는
ajax_test.jsp에 온레디스테이트채인지안에 성공 후 가져오는 부분에 있따 요청을
request_ajax.jsp에다가 쿼리스트링을 붙여 보내고 데이타 필요한거 가져와서
p태그안에 꽂는다--%>
<%
	out.print(request.getParameter("city"));
	out.print(request.getParameter("zipcode"));
%>

'JSP' 카테고리의 다른 글

쿠키 set, get  (0) 2022.12.15
ajax POST 방식의 요청  (0) 2022.12.15
요청, 응답 페이지  (1) 2022.12.15
GET, POST 방식의 요청  (0) 2022.12.15
내장 객체  (0) 2022.12.14