<html>
<input type="submit" />
<button type="submit"></button>
</html>
-> type="submit"
을 이용해서 form을 전송하며, 전송 시 페이지 이동이 일어난다.
: 자바 스크립트를 이용해 클라이언트와 서버 간에 데이터를 주고 받는 비동기 HTTP 통신이다.
🤷🏻♀️ XML 이란?
HTML과 비슷한 마크업 언어이며, HTML과 다르게 정해져 있는 것이 아니라 사용자가 정의해서 사용이 가능하다.
Promise
기반이 아니다.: Node.js 브라우저를 위한 Promise API를 활용하며, 비동기 HTTP 통신이 가능하면 return
이 Promise 객체로 온다.
• axios 문법 :
<script>
axios({
url: "통신하고자 하는 주소", // form에서의 action에 해당
method: "통신하고자 하는 방식(예: get, post, patch, delete)".
data: { json 형태의 보내고자 하는 데이터 }
// put, post, patch 일 때 사용하며, request.body로 데이터를 보낸다.
});
</script>
① 요청
<script>
// params
axios({
url: "통신하고자 하는 주소",
method: "get",
params: { ? 뒤에 오는 쿼리 값들 }
// params : url 파라미터
// - get 방식으로 보낼 때 ? 뒤에 객체로 보내느 것
// - { key1: value, key2: value }
// - request.query가 값을 받는다.
})
// params X
axios({
url: "통신하고자 하는 주소",
// url : "http://~~~?key1=value&key2=value"
method: "get",
})
</script>
② 응답
<script>
axios({
method: "post",
url: "/axios",
data: data
}).then((response) => {
console.log(response.data); // 서버가 제공한 응답(데이터)
console.log(response.status); // 서버 응답의 HTTP 상태 코드
console.log(response.headers); // 서버가 응답한 헤더
})
</script>
백(서버)에서 클라이언트로 데이터를 보내기 위해서는
res.send();
를 이용한다.
장점 : Promise 기반으로 만들어졌으며, 브라우저 호환성이 뛰어나다.
단점 : 모듈 설치나 호출을 해줘야 사용이 가능하다.
: ES6부터 들어온 Javascript 내장 라이브러리이며, Promise를 기반으로 한다.
response
: Promise를 기반으로 하는 다양한 메서드(함수)가 존재하며, 이 메서드들을 통해 다양한 형태의 응답을 처리할 수 있다.response.text()
: 응답을 읽고 텍스트를 반환한다.response.json()
: 응답을 JSON 형태로 파싱하다.🤷🏻♀️ JSON이란?
: JavaScript Object Notation
- 데이터를 표시하는 방법 중 하나이며, 데이터를 문자열의 형태로 나타내기 위해서 사용한다.
- 네트워크를 통해 다른 시스템들이 소통할 때 사용하는 경량의 DATA 교환 형식이다.
- 자바스크립트에서 파생되었으나 현재는 다른 프로그래밍 언어에서도 지원하는 데이터 포맷이다.
(-> JavaScript의 object를 기반으로 한다. 문자열, 숫자, 불리언, 중첩된 객체와 배열 저장도 가능하다. 하지만, JavaScript와 다르게 key 이름을 큰 따옴표("")로 감싼다는 데에서 차이점이 있다.)- 가독성이 뛰어나 컴퓨터와 사람 모두 해석하기 편하다.
- JavaScript에서는 JSON 데이터를 간편하게 다룰 수 있으는 JSON 내장 객체가 존재한다.
JSON.parse()
: JSON 문자열을 JavaScript 객체로 반환한다.JSON.stringify()
: JavaScript객체를 JSON 문자열로 반환한다.
이미지 참고 : 포스코x코딩온 강의 자료(1011동적폼전송.pdf)
참고: 포스코x코딩온 강의 자료(1011동적폼전송.pdf)
웹페이지를 새로고침하지 않고도 데이터를 불러오는 방식이다.
예: 네이버 블로그에서 댓글을 작성하고 작성 버튼을 누르면 페이지 전체가 재로드 되지 않고, 댓글 영역 부분만 업데이트 된다.
장점 :
단점 :