<html>
<body>
<button onclick="location.href='reqRes.jsp'"> 화면 이동 </button>
2. 화면 이동 없이 서버와 통신하는 기술<br>
2-1. js의 요청 응답 둘다 처리 가능한 객체가 필요하다 - XMLHttpRequest<br>
2-2. 요청 시작, 진행중, 응답 시작, 응답 완료 상태값 필요<br>
2-3. 응답 완료 감지시 404, 500, 200 등의 통신 상태값도 필요하다. <br>
<button id="btn2" onclick="ajaxReqRes()">비동기 요청</button>
<div id="dataView"></div>
<script>
function ajaxReqRes(){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
// readyState => 클라이언크
alert(this.readyState);
if (this.readyState == 4 && this.status == 200) {
document.getElementById("dataView").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "reqRes.jsp", true);
xhttp.send();
}
</script>
</body>
</html>
jsp 파일의 내용이 페이지 이동 없이 출력이 된다.
https://developer.mozilla.org/ko/docs/Web/API/XMLHttpRequest
중요!: POST 방식에 RequestHeader 누락을 하게되면 데이터가 전송되지 않는다.