티스토리 뷰

공부 노트

Ajax, json

2021bong 2021. 12. 18. 00:16

AJAX

(Asynchronous Javascript And XML)

서버와 비동기적으로 데이터를 주고받는 자바스크립트 기술

XMLHttpRequest 객체를 사용해 구현하는 비동기 통신 방법

 

요청 / 응답 과정을 통해 불필요한 부분까지 처리하지 않는다

필요한 부분만 별도로 요청하고 응답 받아 처리할 수 있다

불필요한 대역폭 감소가 가능 > 비용 절감

 

페이지를 새로고침 하지 않고도 필요한 데이터만 받아와서 내용을 업데이트 할 수 있음

= 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있음

= 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있음

(예 : 티켓예매 사이트, 검색어 자동 완성)

>장점

새로고침이 없으니 페이지전환이 부드러움

 

 

JSON, XML, HTML, 텍스트 파일 등 다양한 형태의 데이터를 주고 받을 수 있음

JSON(JavaScript Object Notation)

자바스크립트 객체 형태로 정보를 표현하는 파일 형식

데이터를 보기에 XML보다 깔끔함

> 문법 오류에 취약함, 괄호나 콤마 하나로 문서 전체가 해석 불가능해짐 

 

아작스로 읽는 사람도 많지만 에이젝스로 읽는게 맞다고 함


Ajax 통신 방법들

XMLHttpRequest

브라우저에서 제공하는 객체

모던 웹 개발에서는 잘 사용되지 않음

 

$.ajax()

제이쿼리에서 XMLHttpRequest 객체를 사용하기 편하게 만든 메소드

모던 웹 개발에서는 잘 사용되지 않음

 

Fetch

Fetch API

async / await도 함께 쓸 수 있음

json 파싱을 함

 

axios

promise기반으로 동작하는 라이브러리

리액트나 뷰에서 사용

json 파싱을 할 필요 없음


Ajax통신 할 때 자주 뜨는 에러

CORS policy ~

이유

네이버 > 카카오 ajax요청 불가능, 보안 이슈 문제

해결방법

코드를 추가하거나

CORS 정책 관련 기능을 끄면 됨

 

 

 

 

 

728x90

'공부 노트' 카테고리의 다른 글

CSS 단위  (0) 2021.12.22
CSS 학습 게임 - CSS Diner, Flexbox Froggy  (0) 2021.12.22
REST API  (0) 2021.12.17
자바스크립트 use strict  (0) 2021.12.11
화살표함수 arrow function  (0) 2021.12.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함