jQuery 없이 Ajax 호출하기
이 튜토리얼은 외부 라이브러리 없이 JavaScript에서 AJAX 호출을 만드는 방법을 알려줍니다. 그러므로 우리는 당신에게 다음을 가르칠 것입니다.
XMLHttpRequest
로 AJAX 호출하는 방법Fetch
API로 AJAX 호출을 만드는 방법
JavaScript에서 XMLHttpRequest
를 사용하여 Ajax 호출을 만드는 방법
XMLHttpRequest
는 AJAX 호출을 허용하는 JavaScript의 개체입니다. 일련의 방법 덕분에 이를 가능하게 합니다.
이러한 방법에는 다음이 포함됩니다.
XMLHTTPRequest.onreadystatechange()
XMLHTTPRequest.readyState
XMLHTTPRequest.status()
XMLHTTPRequest.open()
XMLHTTPRequest.send()
올바르게 결합되면 이러한 메서드를 사용하여 AJAX 호출을 할 수 있습니다. 또한 개체 이름은 해당 개체가 수행하는 작업에 대한 아이디어를 제공합니다.
예를 들어 XMLHTTPRequest.send()
는 준비가 되면 AJAX 호출을 보냅니다. 다음은 AJAX 호출에 XMLHttpRequest
를 사용하는 일반적인 알고리즘입니다.
-
새
XMLHTTPRequest
객체 생성 -
XMLHTTPRequest.onreadystatechange()
에 함수를 첨부합니다.2.1 함수는
XMLHTTPRequest.readyState
가DONE
을 반환하는지 확인합니다.
2.2XMLHTTPRequest.status()
를 확인하고 그에 따라 조치 -
AJAX 연결 열기
3.1 연결이
GET
또는POST
요청인지 지정하는 부분입니다. -
AJAX 호출 보내기
한편, 달성하려는 목표에 따라 알고리즘이 더 길어질 수 있습니다. 그러나 다음에 자세히 설명하는 예제에서는 알고리즘이 목적에 부합합니다.
사용자는 예제에서 HTML 버튼을 클릭하여 AJAX 호출을 시작할 수 있습니다. 이 호출은 <main>
요소의 내용을 대체합니다.
<head>
<meta charset="utf-8">
<title>Plain AJAX Request</title>
<style>
body {
display: grid;
justify-content: center;
align-items: center;
height: 100vh;
}
button {
padding: 1.2em;
background-color: #1a1a1a;
color: #ffffff;
border: none;
cursor: pointer;
}
</style>
</head>
<body>
<main id="button_container">
<button type="button" onclick="load_ajax_button()">CLICK ME</button>
</main>
<script>
function load_ajax_button() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
let button_container = document.getElementById("button_container")
button_container.innerHTML = this.responseText;
}
xhttp.open("GET", "ajax-button.html", true);
xhttp.send();
}
</script>
</body>
출력:
JavaScript에서 Fetch
API를 사용하여 Ajax 호출을 만드는 방법
Fetch
API는 AJAX 호출을 수행할 수 있는 최신 웹 브라우저의 내장 기능입니다. 또한 Fetch
API를 XMLHttpRequest
의 최신 버전으로 간주할 수 있습니다.
예를 들어 아래 코드에서 HTML
버튼을 누를 때마다 Picsum
API에서 임의의 이미지를 가져옵니다. 한편, 다음은 프로세스가 작동하는 방식입니다.
HTML
버튼을 클릭하여Picsum
API에가져오기
요청을 시작합니다.Picsum
API 응답에서url
속성을 가져옵니다.url
에 임의의 이미지 주소가 포함되어 있기 때문입니다.Picsum
API의 주소를 이미지 소스로 사용합니다.- 따라서
HTML
버튼을 클릭할 때마다 새로운 임의의 이미지가 생성됩니다.
<head>
<meta charset="utf-8">
<title>Fetch API</title>
<style>
main {
text-align: center;
margin: 0 auto;
max-width: 800px;
}
img {
max-width: 100%;
display: inline-block;
}
button {
margin-top: 20px;
}
</style>
</head>
<body>
<main>
<h2>A Simple Fetch API Example</h2>
<div class="img-container">
<img src="" id="random_image" width="300" height="300">
</div>
<button>Click Me for a Random Image</button>
</main>
<script>
let button = document.querySelector('button');
button.addEventListener('click', function () {
fetch('https://picsum.photos/200/300')
.then((response) => {
return response;
})
.then((image_source) => {
random_image.src = image_source['url'];
});
}, false);
</script>
</body>
출력:
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn