동기 통신 실습
콘솔에 데이터 출력
<!DOCTYPE html>
<html lang="ko-KR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ajax 비동기 통신</title>
</head>
<body>
<p class="print_area"></p>
<script src="./action.js"></script>
</body>
</html>


버튼 클릭 시 콘솔에 데이터 출력
<!DOCTYPE html>
<html lang="ko-KR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ajax 비동기 통신</title>
</head>
<body>
<!-- 버튼 추가 -->
<button type="button" class="call-ajax-data-button">서버에 데이터 요청</button>
<p class="print_area"></p>
<script src="./action.js"></script>
</body>
</html>
버튼을 클릭 했을 때, 콘솔에 텍스트가 잘 출력되는 것을 확인 할 수 있다.

이 때, 텍스트 파일의 통신 상태를 보면 304번인 것을 알 수 있다. 이 것은 상단에 실습을 했을 때와 이번에 버튼을 추가하고 실습을 했을 때의 텍스트 데이터에 변경 사항이 없기 때문이다. 즉, 변경이 되지 않았다는 것이다.


버튼 클릭 시 브라우저에 데이터 출력
;(function (global) {
'use strict'
var xhr = new XMLHttpRequest()
xhr.open('GET', './ajax-desc.txt', false)
var call_btn = document.querySelector('.call-ajax-data-button')
var print_area = document.querySelector('.print_area') // 단락요소
var callAjaxData = function () {
xhr.send()
if (xhr.status === 200 || xhr.status === 304) {
// 단락 요소에 데이터 텍스트가 삽입되도록 설정
print_area.textContent = xhr.responseText
} else {
console.warn('통신 실패')
}
}
call_btn.addEventListener('click', callAjaxData)
})(window)

Last updated
Was this helpful?