본문 바로가기

웹언어/AJAX - JS버전

[AJAX강좌] 1강 AJAX 소개 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. AJAX란?


- AJAX는 Asynchronous JavaScript And XML의 약자로 비동기 방식의 javascript와 XML을 의미합니다.

- Ajax란 자바스크립트처럼 특정 프로그래밍 언어를 지칭하는 것도 아니고, 제이쿼리나 리액트처럼 특정한 프레임워크를 지칭하는 것도 아닌 구현하는 방식입니다.

 

 

 

1) 동기방식이란?

- 서버에 신호를 보냈을 때 응답이 돌아와야 다음 동작이 수행할 수 있습니다.

- 자료를 요청하면 잠시 페이지가 서버 스크립트(Server Script) 페이지로 갱신되어 화면이 깜박거리고 그동안 사용자는 어떤 작업도 할 수 없습니다.

 

 

 

 

 

 

 

 

2) 비동기방식이란? - AJAX 사용 후 방식

- 사용자가 서버에 자료를 요청할 때 화면 전환 없이 요청한 자료(XML, HTML, JSON, 텍스트 유형 등)를 전송받을 수 있습니다. 그래서 인스타그램이나 페이스북에서 댓글 작성해도 화면 전환 없이 계속 사용이 가능한 것입니다.

- 사용자가 서버에 자료를 요청하는 사이에도 다른 작업을 할 수 있습니다. 

 

 

 

 

 

 

 

3) AJAX 작동 방식

- 브라우저 내장 객체인  XMLHttpRequest 객체를 통해 웹 서버에서 데이터를 요청합니다.

- 자바스크립트 및 HTML DOM을 통해 데이터를 표시하거나 사용합니다.

출처 : https://www.w3schools.com/js/js_ajax_intro.asp

1. 웹 페이지에서 이벤트 발생(페이지가 로드되고 버튼이 클릭됨)

2. XMLHttpRequest 객체는 JavaScript에 의해 생성됩니다.

3. XMLHttpRequest 개체는 웹 서버에 요청을 보냅니다.

4. 서버가 요청을 처리합니다.

5. 서버는 웹 페이지에 응답을 다시 보냅니다.

6. JavaScript로 응답을 읽습니다.

7. 적절한 조치(예: 페이지 업데이트)는 JavaScript에 의해 수행됩니다.

 

 

 

 

 

 

 

4) Fetch API

- 최신 브라우저는  XMLHttpRequest 객체 대신  Fetch API 를 사용할 수 있습니다.

Fetch API 인터페이스를 사용하면 웹브라우저가 웹 서버에 HTTP 요청을 할 수 있습니다.

XMLHttpRequest 객체를 사용하는 경우보다 Fetch는 더 간단한 방법으로 동일한 작업을 수행할 수 있습니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

2. AJAX 간단한 예제 해보기

## test.txt 

이것은 메모장 데이터입니다.

 

 

## 코드 보기

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>AJAX - Intro</title>
    </head>
    <body>
        <button id="btn">텍스트변경</button>
        <p id="test">텍스트가 변경됩니다!</p>
        <script>
            //문서객체 선택
            const btn = document.getElementById('btn');
            const test = document.getElementById('test');

            function loadDoc(){
                const xhttp = new XMLHttpRequest();
                xhttp.onload = function() {
                    test.innerHTML = this.responseText;
                }
                xhttp.open("GET", "test.txt", true);
                xhttp.send();
            }
            btn.addEventListener('click',loadDoc);
        </script>
    </body>
</html>

 XMLHttpRequest 객체 호출에 대한 자세한 설명은 다음 강좌에서 하겠습니다.

- 버튼을 클릭하면 데이터가 잘 바뀌는지 보도록 할게요!

 

 

 

## 결과 보기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형