
동기 방식 통신: 한번에 하나만 처리함 -> 페이지를 아예 이동해 서버가 데이터를 처리한다.
비동기 방식 통신: 서버에 데이터를 보내고 응답을 기다리는 동안 다른 처리가 가능하다.
Ajax
Ajax: Asynchrous JavaScript And XMLXML: eXtensible Markup Languageurl, type, data 라는 key에다가 적절한 값을 넣어서 전송을 하면 된다. 그리고 전송이 성공 했을 때 응답이 Success라는 곳의 함수에 매개변수로 들어온다. data에는 send로 보내진 데이터들이 오게 된다. url에는 보내고싶은 url을 적으면 된다. type은 get, post, delete등의 method가 온다.Ajax 사용
ajax를 사용하기 위해 기본코드랑 파일들을 세팅해준다.
폴더는 views로, 파일은 app.js와 index.ejs로 써준다.
GET 요청 사용
작성한 코드에서 유효성 검증이 끝났으면 ajax를 사용하기 위해 data를 객체로 만들어줘야 한다.
객체 형태로 만들어 주었으면 ajax를 사용해주면 된다.
만들어준 ajax를 get요청하면 된다.
결과 화면
POST 요청 사용



Acxios
node.js와 브라우저를 위한 promise API를 활용
비동기 HTTP통신이 가능, return Promise 객체로 온다.
장점
단점
npm install axios or 클라이언트 CDN 활용사용법
GETMethod일 때에는 params라는 key, POST Method일 때에는 data라는 key에 데이터를 넣어서 전송한다는 차이점이 있다.then을 사용하고, async await도 사용 가능하다.Axios - GET 요청 || then, catch 사용
사용하려면 CDN이 필요하므로 CDN을 넣어주고, 기본 코드를 적어준다.
Data를 객체로 만들어주고, then과 catch로 함수를 구성해 준다. 
get 요청을 해준다.

결과화면
Axios - GET 요청 || async, await 사용



name, gender담아주기위해 key를 따로 지정해 주지 않고, url에다가 같이 적어 포함시켜주었다.?기호뒤에는 query의 내용이 들어오게 되는데, 여기에 실제 data의 정보를 적어주어서 따로 params key를 사용하지 않고 정보를 담은 것이다.response.data.name으로 너무 길기 때문에 따로 const에 지정해주어 짧게 사용했다.
Axios - POST 요청 || async, await 사용
위에서 했던 GET 요청과 똑같이 해주면 되는데,
주의 해야 할 점은 data를 담을 때 key의 이름을 params가 아닌 data로 해서 담아야 한다.
이때 data는 실제 data가 아닌 axios에서 정해놓은 key의 이름일 뿐이다.

여기서는 실제data name, gender를 text로 내보내기 위해 변수를 지정해주는 과정에서
name과 gender를 직접 사용하지 않고, 다른 방식으로 이름과 성별로 변환하여 지정해주었다.
결과화면
FETCH
Promise기반으로 javascript 내장 라이브러리이다.
JSON
JSON : Java Script Object Notation
JavaSctipt 객체로 변환JavaScript 객체를 JSON 문자열로 변환Fetch - GET 요청 || then, catch 사용
response 객체로 주는 것이 맞지만,ajax나 axios는 함수 내부적으로 처리를 해서 response안에 실제 data를 담아두던지,response에 직접 담든지 해서 사용하기 쉽게 만들어준다.Fetch는 ajax와 axios와는 다르게 객체 형태로 받아오기 때문에 data에 알맞게 직접 변환을 시켜 줘야 한다.
fetch는 default method가 GET요청이므로 따로 적어서 설정을 해줄 필요가 없다.

Fetch - POST 요청 || async ~ await 사용

try ~ catch를 사용해준다.
POST요청이기때문에 따로 적어준다.fetch는 내장되어있는 라이브러리이기 때문에 따로 적어줘야 하는 정보들이 많다.header와 body가 있다.header : 이 data가 어떤 형식으로 보내주고있는지를 명시해준다.body : body에는 data를 적어주어야 하는데, 문자열 json형식으로 보내야 하기 때문에 stringfy( )를 이용해 주었다.await를 두 번 사용해줘야 한다.
