본문 바로가기
HTML CSS JS

day40) [JavaScript] Json사용하기

by code_learner 2022. 2. 24.

[$.ajax 메서드]

Ajax는 웹페이지에서 새로운 데이터를 보여주고자 할 때 현재 페이지에서 필요한 데이터만 로드하여 웹페이지 전체를 새로고침하는 것이아니라 일부만을 로드하기 위한 기법이다. Ajax는 비동기 처리방식을 사용하여 데이터를 처리한다.

 

-비동기 처리 방식

웹페이지를 리로드하지 않고 데이터를 불러오는 방식이다. Ajax를 통해서 서버에 요청을 한다면 페이지가 멈추는 것이 아니라 프로그램이 계속 돌아가게 된다. AJAX는 HTML 페이지 전체가 아닌 일부분만 갱신할 수 있도록 하기 때문에 이 경우, JSON이나 XML형태로 필요한 데이터만 받아 자원과 시간을 아낄 수 있다.

 

 

[JSON]

키-값 형식으로 구성된 데이터이다. $.ajax() 메서드를 이용해서 JSON파일을 로드하여 기능을 수행할 수 있다.

 

-기본문법

[
   {"name":"아무무","score1":95,"score2":97},
   {"name":"아리","score1":85,"score2":45},
   {"name":"티모","score1":46,"score2":63}
]

-사용예시

<body>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script type="text/javascript">
   $.ajax({
      type: "GET", // 데이터를 로드해오는 방식
      url: "data1.json", // 로드할 파일이름
      dataType: "json", // 현재 다루는 데이터 타입
      success: function(data){ // 로드 성공시 수행할 메서드
         // function()에 인자를 두면, 로드성공한 json데이터가 저장됨!
         var ele = "";
      
         // $.each( 타깃 데이터(로드한 json 데이터) , 수행할 메서드 );
         $.each(data,function(){
            ele+="<tr>";
            ele+="<td>"+this.name+"</td>";
            ele+="<td>"+this.score1+"</td>";
            ele+="<td>"+this.score2+"</td>";
            ele+="</tr>";
         });
         
         $("tbody").append(ele);
      },
      error: function(err){ // 로드 실패시 수행할 메서드
         // function()에 인자를 두면, 로드실패시 예외정보가 저장됨!
         // 에러의 상태,내용에 대한 메세지 등을 출력
         console.log('에러발생!');
         console.log(err.status+" | "+err.errText);
      }
   });
</script>

<form action="" method=></form>

   <h1>학생 성적표</h1>
   <table border="1">
      <thead>
         <tr>
            <td>학생 이름</td>
            <td>중간고사 성적</td>
            <td>기말고사 성적</td>
         </tr>
      </thead>
      <tbody>
      </tbody>
   </table>

</body>

 

 

참고사이트

https://tutorialpost.apptilus.com/code/posts/js/js-ajax/

 

JavaScript Ajax와 JSON

Ajax (Async Javascript And XML)는 웹 페이지에서 새로운 데이터를 보여주려고 할 때 웹페이지 전체를 새로고침 하지 않고, 보여주고자 하는 데이터가 포함된 페이지의 일부 만을 로드 하기 위한 기법입

tutorialpost.apptilus.com

 

댓글