Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프록시
- 뮤텍스란?
- 세마포어
- Dijkstra Algorithm
- 세마포어와 뮤텍스
- 서버 호스팅
- 다익스트라 알고리즘
- 다익스트라
- SSAFY
- 동기화
- 웹 호스팅
- 플로이드 와샬
- 세마포어란?
- 최단 경로
- 세마포어와 뮤텍스의 차이
- 싸피 합격
- 싸피 면접 후기
- 프록시서버
- 호스팅이란?
- 싸피
- Proxy
- 플로이드 워셜
- 삼성 청년 SW 아카데미
- floyd-warshall
- 클라우드 서버
- 뮤텍스
- 호스팅
- Proxy Server
- Synchronization
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
[자바스크립트] AJAX란 무엇인가? 본문
AJAX란?
- Asynchronous Javascript And XML의 약자
- 비동기적으로 JS를 사용해서 데이터를 받아와 동적으로 DOM을 갱신 및 조작하는 웹 개발 기법
- XML이 있는 이유는 예전에는 데이터 포맷으로 XML을 많이 사용 ( 현재는 JSON )
작동원리
- 사용자가 AJAX가 적용된 UI와 상호작용하면! 서버에 AJAX 요청을 보내게 된다.
- 서버는 DB에서 데이터를 가져와서 JS 파일에 정의되어 있는 대로 HTML + CSS 데이터를 융합하여 만든 DOM 객체를 UI에 업데이터 시킨다.
- 비동기로 이루어지며, 기존의 페이지를 전부 로딩하는 방식이 아닌 일부만 업데이트하는 방식!
사용방법
XMLHttpRequest
var ourRequest = new XMLHttpRequest();
ourRequest.open(
"GET",
"url 주소"
);
ourRequest.onload = () => {
var ourData = JSON.parse(ourRequest.responseText);
console.log(ourData[0]);
};
ourRequest.send();
FetchAPI
- ES6에서 표준되었고, Promise를 리턴한다.
fetch("URL")
.then(res => res.json())
.then(resJson => console.log(resJson));
- 대부분의 REST API들은 JSON 형태의 데이터를 응답하기 때문에 res.json()로 변환하여 얻을 수 있다.
장단점
장점
- 페이지를 전환하지 않고 빠르게 화면 일부분을 업데이트할 수 있다.
- 수신하는 데이터 양을 줄일 수 있고, 클라이언트에게 처리를 맡길 수 있다.
- 서버 처리를 기다리지 않고 비동기 요청이 가능하다.
단점
- 지원하지 않는 브라우저가 있다.
- 페이지 전환없이 서버와 통신을 하기 때문에 보안상 문제가 있을 수 있다.
- 무분별하게 사용하면 역으로 부하가 늘어날 수 있다.
출처
'공부 > JavaScript && jquery' 카테고리의 다른 글
[자바스크립트] ES6(ES2015+) 방식 import와 export (0) | 2021.05.28 |
---|---|
[자바스크립트] Promise란? (0) | 2021.04.29 |
[자바스크립트] 비동기 처리와 콜백 함수 (0) | 2021.04.29 |
[자바스크립트] Destructuring assignment ( 해체할당 ) (0) | 2021.04.27 |
[자바스크립트] function name property (0) | 2021.04.27 |
Comments