본문 바로가기
웹 개발자 준비 과정🐳

ajax란? ajax 사용 방법 / ajax의 모든 것!!!

by @ENFJ 2022. 9. 28.

이번 프로젝트를 진행하는데 ajax 를 사용하였습다. ajax가 정확히 무엇인지 궁금하기도 했고, 자주 사용되는 것 같아 이번 기회에 정확히 알아두기위해 기록합니다.🤗

AJAX 의 정의에 대해 간단히 살펴보고 가자

  • Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나이다.
  • Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있다.
  • 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능

결론: 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것

 

AJAX 작동 방식

  • 1. 웹페이지에서 이벤트 발생(페이지 로딩, 버튼 클릭)
  • 2. XMLHttpRequest 객체는 JavaScript에 의해 생성됩니다.
  • 3. XMLHttpRequest 객체는 웹 서버에 요청을 보냅니다.
  • 4. 서버가 요청을 처리합니다.
  • 5. 서버가 웹 페이지에 응답을 보냅니다.
  • 6. 응답은 JavaScript에서 읽습니다.
  • 7. 페이지 업데이트와 같은 적절한 조치가 JavaScript에 의해 수행됩니다.

 

소스코드

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>사용자 관리페이지</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script type="text/javascript">
        function getSend(urladdr,param){
            var temp;
            $.ajax({
                type:'post',
                headers:{
                    "Content-Type":"application/json"
                },
                async :false,
                url:urladdr,
                data:param,
                dataType:"json",
                success : function(result){
                    temp= result;  
                },
            });
            return temp;
        }
        </script>

 

8. jquery CDN

  • jQuery를 직접 다운로드하고 호스팅하지 않으려면 CDN(Content Delivery Network)을 추가하면 사용할 수 있습니다.

13. type:'post'

  • post 방식으로 전송

14,15,16. "Content-Type":"application/json"

 JSON형식의 데이터를 보낸다는 것을 알려주기 위해서 request header에 Content-Type: application/json을 설정해줘야 한다.

17. async: false   

  • sync 는 동기화 <순서대로 처리> async는 비동기화 <먼저 오는 순서대로? 처리> 를 의미한다.
    ajax를 동기화(순서대로) 처리해야하는 경우 true로하거나 기술하지 않으면 비동기로 작동한다.
  • 하지만 여기서 주의해야할점이 있다. async 이기 때문에 비동기화가 맞냐 아니냐 로 해석해야한다.
    async 가 false 임으로 비동기화가 아니다 ==> 즉, 동기화 로 ajax를 처리한다는 의미이다.

18. url 

- 요청할 주소를 의미한다. 

19.data : param

- 보내는 데이터 / 여기서는 param

20.dataType:json

json타입

- json 타입으로 데이터를 받는다.

21. success : function(result){ temp = result; },

- 요청 완료시 실행

   전달받은 데이터가 result 안에 담아서 들어오게된다.